@import "vendor/rfs";
@import "mixins/deprecate";
@import "mixins/breakpoints";
@import "mixins/hover";
@import "mixins/image";
@import "mixins/badge";
@import "mixins/resize";
@import "mixins/screen-reader";
@import "mixins/size";
@import "mixins/reset-text";
@import "mixins/text-emphasis";
@import "mixins/text-hide";
@import "mixins/text-truncate";
@import "mixins/visibility";
@import "mixins/alert";
@import "mixins/buttons";
@import "mixins/caret";
@import "mixins/pagination";
@import "mixins/lists";
@import "mixins/list-group";
@import "mixins/nav-divider";
@import "mixins/forms";
@import "mixins/table-row";
@import "mixins/background-variant";
@import "mixins/border-radius";
@import "mixins/box-shadow";
@import "mixins/gradients";
@import "mixins/transition";
@import "mixins/clearfix";
@import "mixins/grid-framework";
@import "mixins/grid";
@import "mixins/float";
@import "functions";
@import "variables";
@import "mixins";
@import "root";
@import "reboot";
@import "type";
@import "images";
@import "code";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
@import "transitions";
@import "dropdown";
@import "button-group";
@import "input-group";
@import "custom-forms";
@import "nav";
@import "navbar";
@import "card";
@import "breadcrumb";
@import "pagination";
@import "badge";
@import "jumbotron";
@import "alert";
@import "progress";
@import "media";
@import "list-group";
@import "close";
@import "toasts";
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
@import "spinners";
@import "utilities";
@import "print";
@import url("https://fonts.googleapis.com/css?family=#
@import url("/web/content/#
@import url("https://fonts.googleapis.com/css?family=#

/* /web/static/lib/bootstrap/scss/_functions.scss defined in bundle 'web.assets_frontend' */
// Bootstrap functions // // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. // Ascending // Used to evaluate Sass maps like our grid breakpoints. @mixin _assert-ascending($map, $map-name){$prev-key: null; $prev-num: null; @each $key, $num in $map{@if $prev-num == null or unit($num) == "%"{// Do nothing}@else if not comparable($prev-num, $num){@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num}whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";}@else if $prev-num >= $num{@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num}which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";}$prev-key: $key; $prev-num: $num;}}// Starts at zero // Used to ensure the min-width of the lowest breakpoint starts at 0. @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints"){$values: map-values($map); $first-value: nth($values, 1); @if $first-value != 0{@warn "First breakpoint in #{$map-name}must start at 0, but starts at #{$first-value}.";}}// Replace `$search` with `$replace` in `$string` // Used on our SVG icon backgrounds for custom forms. // // @author Hugo Giraudel // @param{String}$string - Initial string // @param{String}$search - Substring to replace // @param{String}$replace ('') - New value // @return{String}- Updated string @function str-replace($string, $search, $replace: ""){$index: str-index($string, $search); @if $index{@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);}@return $string;}// Color contrast @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light){$r: red($color); $g: green($color); $b: blue($color); $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000; @if ($yiq >= $yiq-contrasted-threshold){@return $dark;}@else{@return $light;}}// Retrieve color Sass maps @function color($key: "blue"){@return map-get($colors, $key);}@function theme-color($key: "primary"){@return map-get($theme-colors, $key);}@function gray($key: "100"){@return map-get($grays, $key);}// Request a theme color level @function theme-color-level($color-name: "primary", $level: 0){$color: theme-color($color-name); $color-base: if($level > 0, $black, $white); $level: abs($level); @return mix($color-base, $color, $level * $theme-color-interval);}

/* /web/static/lib/bootstrap/scss/_mixins.scss defined in bundle 'web.assets_frontend' */
// Toggles // // Used in conjunction with global variables to enable certain theme features. // Vendor  // Deprecate  // Utilities             // // Components          // // Skins      // // Layout     

/* /web/static/src/scss/bs_mixins_overrides.scss defined in bundle 'web.assets_frontend' */
//------------------------------------------------------------------------------ // Bootstrap Mixins and Functions Extensions // Those will affect the way bootstrap is generated wherever bootstrap is used //------------------------------------------------------------------------------ // This variable must be defined here instead of bootstrap overridden files // otherwise we will have deprecation messages for assets_common generation $enable-deprecation-messages: false !default; // Override color-yiq function to handle the alpha component of colors and // automatic threshold @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light, $background: $body-bg, $cross-mix: true){$threshold: if($yiq-contrasted-threshold != false, $yiq-contrasted-threshold / 255 * 100%, false); @return o-get-most-contrast($color, $light, $dark, $background, $threshold, $cross-mix);}@function mute-color($color){@return scale-color($color, $alpha: -30%);}// This placeholder regroups the rules that will apply on all elements with a // bg-* class (see o-bg-color, bg-variant). The optimized-css way would be to // have a common class for them all. %o-bg-color-component-color-reset{h1, h2, h3, h4, h5, h6{color: inherit;}}$o-yiq-min-opacity-threshold: 0.3 !default; $o-color-extras-nesting-selector: '&' !default; @mixin o-bg-color($color, $text-color: null, $with-extras: true, $important: true, $yiq-min-opacity-threshold: $o-yiq-min-opacity-threshold, $background: $body-bg, $nesting-selector: $o-color-extras-nesting-selector){@if ($color){$-yiq-threshold-met: alpha($color) > $yiq-min-opacity-threshold; $-yiq-color: if($text-color, $text-color, if($-yiq-threshold-met, color-yiq($color, $background: $background), null)); background-color: $color#{if($important, ' !important', '')}; color: $-yiq-color; // not important so that text utilities still work @if $with-extras and $-yiq-threshold-met{#{$nesting-selector}{@extend %o-bg-color-component-color-reset; .text-muted{// Always important since the basic BS rule is important color: mute-color($-yiq-color) !important;}}}}}// Override background utilities so that they come with a default contrasted // color (especially useful in the frontend editor for example). Also modifies // the way .text-muted elements are rendered in those environments. @mixin bg-variant($parent, $color, $text-color: null){#{$parent}{@include o-bg-color($color, $text-color);}a#{$parent}, button#{$parent}{@include hover-focus{@include o-bg-color(darken($color, 10%), $text-color, false);}}}@mixin bg-gradient-variant($parent, $color, $text-color: null){#{$parent}{@include o-bg-color($color, $text-color); background-image: linear-gradient(180deg, mix($body-bg, $color, 15%), $color) !important; background-repeat: repeat-x !important;}}

/* /web/static/src/scss/utils.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the odoo mixins. They are available in every asset bundle. /// // ------------------------------------------------------------------ // Caret // ------------------------------------------------------------------ @mixin utils-caret-boilerplate{content: ""; display: inline-block; width: 0; height: 0; vertical-align: middle;}// ------------------------------------------------------------------ // Position absolute // ------------------------------------------------------------------ @mixin o-position-absolute($top: auto, $right: auto, $bottom: auto, $left: auto){position: absolute; top: $top; left: $left; bottom: $bottom; right: $right;}// ------------------------------------------------------------------ // Position sticky // ------------------------------------------------------------------ @mixin o-position-sticky($top: auto, $right: auto, $bottom: auto, $left: auto){position: -webkit-sticky; position: sticky; top: $top; left: $left; bottom: $bottom; right: $right;}// ------------------------------------------------------------------ // Text overflow // ------------------------------------------------------------------ @mixin o-text-overflow($display: inline-block, $max-width: 100%){display: $display; max-width: $max-width; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; // To update display context changed by overflow:hidden}// ------------------------------------------------------------------ // Hovering effects // ------------------------------------------------------------------ @mixin o-hover-opacity($default-opacity: 0.5, $hover-opacity: 1){opacity: $default-opacity; &:hover, &:focus, &.focus{opacity: $hover-opacity;}}//------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ @function luma($color){@return ((red($color) * .299) + (green($color) * .587) + (blue($color) * .114)) / 255 * 100%;}// // Given two colors, returns the one which has the most constrast with another // given color. Careful: if you want to find the text color which will suit the // most on a given background color, you should use the 'color-yiq' function. // @function o-get-most-contrast($color, $c1, $c2, $background: #FFFFFF, $threshold: false, $cross-mix: true){$background: if($background == null, #FFFFFF, $background); $real-color: mix(rgba($color, 1.0), $background, percentage(alpha($color))); $luma: luma($real-color); $cross-color: if($cross-mix, $real-color, $background); $real-c1: mix(rgba($c1, 1.0), $cross-color, percentage(alpha($c1))); $luma-c1: luma($real-c1); $real-c2: mix(rgba($c2, 1.0), $cross-color, percentage(alpha($c2))); $luma-c2: luma($real-c2); $-dark: if($luma-c1 <= $luma-c2, $c1, $c2); $-light: if($luma-c1 > $luma-c2, $c1, $c2); @if $threshold == false{// Automatic threshold: give a really small preference to light results // as bootstrap does by default (mainly by compatibility at the moment // this code is written) $threshold: ($luma-c1 + $luma-c2) * 0.515; // 150 / 145.63 * 0.5 would be the BS value}@return if($luma > $threshold, $-dark, $-light);}// Extend placeholder which adds a chess-like background below the color and // image of an element to preview the transparency of that color and image. // This is done thanks to both ::before and ::after elements so they must both // be available. %o-preview-alpha-background{position: relative; z-index: 0; &::before{content: ""; @include o-position-absolute(0, 0, 0, 0); z-index: -1; background-image: url('/web/static/src/img/transparent.png'); background-size: 10px auto; border-radius: inherit;}&::after{content: ""; @include o-position-absolute(0, 0, 0, 0); z-index: -1; background: inherit; // Inherit all background properties border-radius: inherit;}}// ------------------------------------------------------------------ // Padding // ------------------------------------------------------------------ @mixin o-webclient-padding($top: 0px, $right: $o-horizontal-padding, $bottom: 0px, $left: $o-horizontal-padding){padding-top: $top; padding-right: $right; padding-bottom: $bottom; padding-left: $left;}// ------------------------------------------------------------------ // Caret // ------------------------------------------------------------------ @mixin o-caret-down($caret-width: $caret-width){@include utils-caret-boilerplate; border-bottom: 0; border-left: $caret-width solid transparent; border-right: $caret-width solid transparent; border-top: $caret-width solid; -moz-transform: scale(0.9999); // Smooth the caret on firefox}@mixin o-caret-up($caret-width: $caret-width){@include utils-caret-boilerplate; border-bottom: $caret-width solid; border-left: $caret-width solid transparent; border-right: $caret-width solid transparent; border-top: 0; -moz-transform: scale(0.9999); // Smooth the caret on firefox}@mixin o-caret-left($caret-width: $caret-width){@include utils-caret-boilerplate; border-bottom: $caret-width solid transparent; border-left: 0; border-right: $caret-width solid; border-top: $caret-width solid transparent; -moz-transform: scale(0.9999); // Smooth the caret on firefox}@mixin o-caret-right($caret-width: $caret-width){@include utils-caret-boilerplate; border-bottom: $caret-width solid transparent; border-left: $caret-width solid; border-right: 0; border-top: $caret-width solid transparent; -moz-transform: scale(0.9999); // Smooth the caret on firefox}//------------------------------------------------------------------- // Cursor //------------------------------------------------------------------- @mixin o-grab-cursor(){// Use a custom cursor for the open hand icon as "grab" is not properly // working on Chrome Linux (at least) cursor: url(/web/static/src/img/openhand.cur), grab;}// ------------------------------------------------------------------ // Hovering effects // ------------------------------------------------------------------ @mixin o-hover-text-color($default-color: $body-color, $hover-color: $link-color){color: $default-color; &:hover, &:focus, &.focus{color: $hover-color;}}// ------------------------------------------------------------------ // Mixin to define variations for btn-links and muted btn-links // ------------------------------------------------------------------ @mixin o-btn-link-variant($color, $color-active){text-transform: none; @include o-hover-text-color($default-color: $color, $hover-color: $color-active); &, &:hover, &:focus, &:active, &.active{border-color: transparent; background-color: transparent;}&.text-muted, .text-muted{@include o-hover-opacity; @include o-hover-text-color($default-color: $text-muted, $hover-color: $color-active);}}// Odoo defines a limited Noto font-family for a small variety of unicode // characters that are not necessary defined in the user system or even defined // but not properly readable. This function allows to add this font family in a // given font list. // // @param{list}$font - a list of font names ending with the generic one. // @param{integer}[$index] - the position where to add the support font, if // not given, it will be placed before the generic one. @function o-add-unicode-support-font($font, $index: false){@if $index == false{$index: length($font);}$-with-support-font: (); @for $i from 1 through length($font){@if $i == $index{$-with-support-font: append($-with-support-font, 'Odoo Unicode Support Noto', $separator: comma);}$-with-support-font: append($-with-support-font, nth($font, $i), $separator: comma);}@return $-with-support-font;}// Function to remove all null values of a map @function o-map-omit($map){$-map: (); @each $key, $value in $map{@if $value != null{$-map: map-merge($-map, ( $key: $value, ));}}@return $-map;}// Function to swap two values in a list @function o-swap($list, $i, $j){$tmp: nth($list, $i); $list: set-nth($list, $i, nth($list, $j)); @return set-nth($list, $j, $tmp);}// Function to get an element of a list with a default value in case the index // is out-of-bounds; also return that value if the retrieved value is null. @function o-safe-nth($list, $index, $default: null){$value: if($index > 0 and $index <= length($list), nth($list, $index), null); @return if($value != null, $value, $default);}// Function to get an element of a map with a default value in case the key // does not exist; also return that value if the retrieved value is null. @function o-safe-get($map, $key, $default: null){$value: map-get($map, $key); @return if($value != null, $value, $default);}// ------- Kanban grouped mixins ------- @mixin o-kanban-icon($base-opacity: 0.5){display: block; text-align: center; color: $o-main-text-color; font-size: $font-size-sm; cursor: pointer; @include o-hover-opacity($base-opacity);}@mixin o-kanban-tag-color{@for $size from 1 through length($o-colors){// Note: the first color is supposed to be invisible if there is a color // field but it is used as a default color when there is no color field &.o_tag_color_#{$size - 1}span{background-color: nth($o-colors, $size);}}}@mixin o-kanban-record-color{@for $size from 2 through length($o-colors){// Note: the first color is not defined as it is the 'no color' for kanban .oe_kanban_color_#{$size - 1}::after{background-color: nth($o-colors, $size);}}}@mixin o-kanban-slim-col{position: relative; flex: 0 0 auto; margin: 0; padding: 0 floor($o-kanban-group-padding * 0.7); cursor: pointer;}@mixin o-kanban-header-title{display: flex; align-items: center; height: $o-kanban-header-title-height; line-height: 2.2; color: $headings-color;}@mixin o-kanban-v-title{@include o-position-absolute($o-kanban-inside-vgutter * 2, $left: floor(-$o-kanban-inside-vgutter * 1.2)); transform-origin: left bottom 0; transform: rotate(90deg); overflow: visible; white-space: nowrap; font-size: 15px;}// ------- Kanban records mixins ------- @mixin o-kanban-record-title($font-size){color: $headings-color; font-size: $font-size; font-weight: 500; margin-bottom: 0; margin-top: 0;}@mixin o-kanban-dropdown($padding-base: $o-kanban-inside-vgutter){padding: $padding-base/2 $padding-base; border: none; border-left: 1px solid transparent; vertical-align: top; color: $body-color; &:hover{color: $headings-color;}&:focus, &:active, &:focus:active{outline: none;}}@mixin o-kanban-dropdown-open{position: relative; background: white; border-color: gray('400'); z-index: $zindex-dropdown + 1;}@mixin o-kanban-dropdown-menu{@include o-position-absolute($right: -1px); margin-top: -1px; border-color: gray('400');}@mixin o-kanban-colorpicker{max-width: 150px; padding: 3px ($o-dropdown-hpadding - $o-kanban-inner-hmargin) 3px $o-dropdown-hpadding; > li{display: inline-block; margin: $o-kanban-inner-hmargin $o-kanban-inner-hmargin 0 0; border: 1px solid white; box-shadow: 0 0 0 1px gray('300'); > a{display: block; &::after{content: ""; display: block; width: 20px; height: 15px;}}// No Color &:first-child > a{position: relative; &::before{content: ""; @include o-position-absolute(-2px, $left: 10px); display: block; width: 1px; height: 20px; transform: rotate(45deg); background-color: red;}&::after{background-color: white;}}}}// Emulate dropdown links @mixin o-kanban-dashboard-dropdown-link($link-padding-gap: $o-dropdown-hpadding){padding: 0; > a{margin: auto auto auto (-$link-padding-gap); padding: 3px $link-padding-gap; color: $body-color; display: block; &:hover{background-color: gray('300'); color: $headings-color;}}&:last-child{margin-bottom: 5px;}}// No content helper @mixin o-nocontent-empty{pointer-events: auto; max-width: 650px; margin: auto; padding: 15px; z-index: 1000; text-align: center; color: $o-tooltip-text-color; font-size: 115%; > p:first-of-type{margin-top: 0; color: $o-tooltip-title-text-color; font-weight: bold; font-size: 125%;}a{cursor: pointer;}}%o-nocontent-init-image{content: ""; display: block; margin: auto; background-size: cover;}%o-nocontent-empty-document{@extend %o-nocontent-init-image; @include size(120px, 80px); margin-top: 30px; margin-bottom: 30px; background: transparent url(/web/static/src/img/empty_folder.svg) no-repeat center;}

/* /web/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the variables that style odoo components. /// They are available in every asset bundle. /// // Font sizes $o-root-font-size: 12px; $o-font-size-base: 13rem * (1px / $o-root-font-size); $o-line-height-base: 1.5; // This is BS default // Colors $o-community-color: #7C7BAD; $o-enterprise-color: #875A7B; $o-enterprise-primary-color: #00A09D; $o-brand-odoo: $o-community-color; $o-brand-primary: $o-community-color; $o-brand-secondary: #f0eeee; $o-brand-lightsecondary: #e2e2e0; $o-gray-100: #f8f9fa; // This is BS default $o-main-color-muted: #a8a8a8; $o-main-text-color: #4c4c4c; $o-view-background-color: white; $o-shadow-color: #303030; $o-form-lightsecondary: #ccc; $o-list-footer-bg-color: #eee; $o-list-footer-font-weight: bold; $o-tooltip-background-color: white; $o-tooltip-color: #666666; $o-tooltip-arrow-color: white; $o-tooltip-text-color: #777777; $o-tooltip-title-text-color: black; $o-tooltip-title-background-color: #F7F7F7; // Layout // // Extension of BS4. This is not redefining the BS4 variable directly as we only // need the extra ones for media queries (not creating new breakpoint classes). // Note: default BS4 values are hardcoded here while it should be possible to // merge with the default BS variable (but we would have to take care of // ordering & cie). $o-extra-grid-breakpoints: ( xs: 0, vsm: 475px, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1534px, ); $o-form-group-cols: 12; $o-form-spacing-unit: 5px; $o-horizontal-padding: 16px; $o-innergroup-rpadding: 45px; $o-dropdown-hpadding: 20px; $o-sheet-vpadding: 24px; $o-statbutton-height: 44px; $o-statbutton-vpadding: 0px; $o-statbutton-spacing: 6px; $o-modal-lg: 980px; $o-modal-md: 650px; // Needed for having no spacing between sheet and mail body in mass_mailing: // Different required cancel paddings between web and web_enterprise $o-sheet-cancel-tpadding: 0px; $o-avatar-size: 90px; $o-statusbar-height: 33px; $o-label-font-size-factor: 0.8; $o-navbar-height: 46px; $o-nb-calendar-colors: 24; $o-base-settings-mobile-tabs-height: 40px; $o-base-settings-mobile-tabs-overflow-gap: 3%; $o-cp-breadcrumb-height: 30px; $o-datepicker-week-color: #8f8f8f; $o-card-body-bg-opacity: 0.9; // Kanban $o-kanban-default-record-width: 300px; $o-kanban-small-record-width: 240px; $o-kanban-header-title-height: 50px; $o-kanban-image-width: 64px; $o-kanban-image-fill-width: 95px; $o-kanban-inside-vgutter: 8px; $o-kanban-inside-hgutter: 8px; $o-kanban-color-border-width: 3px; $o-kanban-inner-hmargin: 5px; $o-kanban-progressbar-height: 20px; $o-kanban-mobile-tabs-height: 40px; $o-kanban-mobile-empty-height: $o-kanban-image-width; // ------- Kanban dashboard variables ------- // Used to manage spacing in complex dropdown menu $o-kanban-dashboard-dropdown-complex-gap: 5px; // Form view $o-form-view-sheet-max-width: 1140px !default; 

/* /web_editor/static/src/scss/web_editor.variables.scss defined in bundle 'web.assets_frontend' */
/// /// This files regroups the variables and mixins which are specific to the editor. /// //------------------------------------------------------------------------------ // Odoo Editor UI //------------------------------------------------------------------------------ $o-we-bg-darkest: #000000 !default; $o-we-bg-darker: #141217 !default; $o-we-bg-dark: #191922 !default; $o-we-bg-light: #2b2b33 !default; $o-we-bg-lighter: #3e3e46 !default; $o-we-bg-lightest: #595964 !default; $o-we-fg-darker: #9d9d9d !default; $o-we-fg-dark: #C6C6C6 !default; $o-we-fg-light: #D9D9D9 !default; $o-we-fg-lighter: #FFFFFF !default; $o-we-color-danger: #e6586c !default; $o-we-color-warning: #f0ad4e !default; $o-we-color-success: #40ad67 !default; $o-we-color-info: #6999a8 !default; $o-we-bg: $o-we-bg-light !default; $o-we-color: $o-we-fg-light !default; $o-we-font-size: 13px !default; $o-we-font-family: Roboto, 'Montserrat', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif !default; $o-we-accent: #01bad2 !default; $o-we-border-width: 1px !default; $o-we-border-color: $o-we-bg-light !default; $o-we-ace-color: #2F3129 !default; $o-we-handles-offset-to-hide: 10000px !default; $o-we-handles-btn-size: 20px !default; $o-we-handles-accent-color: $o-we-accent !default; $o-we-handles-accent-color-preview: $o-enterprise-color !default; $o-we-handle-edge-size: 8px !default; $o-we-handle-border-width: 2px !default; $o-we-dropzone-size: 30px !default; // $grid-gutter-width (todo: allow to use the variable) $o-we-dropzone-border-width: 2px !default; $o-we-dropzone-border: $o-we-dropzone-border-width dashed $o-brand-odoo !default; // Translations $o-we-content-to-translate-color: rgb(255, 255, 90) !default; $o-we-translated-content-color: rgb(120, 215, 110) !default; $o-we-toolbar-height: 32px !default; $o-we-item-spacing: 8px !default; $o-we-item-border-width: 1px !default; $o-we-item-border-color: $o-we-bg-darkest !default; $o-we-item-border-radius: 2px !default; $o-we-item-clickable-bg: $o-we-bg-lightest!default; $o-we-item-clickable-color: $o-we-fg-light!default; $o-we-item-clickable-hover-bg: $o-we-bg-dark!default; $o-we-item-pressed-bg: $o-we-bg-light !default; $o-we-item-pressed-color: $o-we-fg-lighter !default; $o-we-item-standup-color-light: $o-we-fg-lighter; $o-we-item-standup-color-dark: $o-we-bg-darkest; $o-we-item-standup-top: inset 0 1px 0; $o-we-item-standup-bottom: inset 0 -1px 0; $o-we-dropdown-spacing: $o-we-item-spacing !default; $o-we-dropdown-bg: $o-we-bg-darker !default; $o-we-dropdown-border-width: 1px !default; $o-we-dropdown-border-color: $o-we-bg-darkest !default; $o-we-dropdown-shadow: 0 2px 8px 0 rgba(black, 0.5) !default; $o-we-dropdown-item-height: 34px !default; $o-we-dropdown-item-spacing: 1px !default; $o-we-dropdown-item-bg: $o-we-bg-lightest !default; $o-we-dropdown-item-bg-hover: $o-we-bg-light !default; $o-we-dropdown-item-color: $o-we-fg-dark !default; $o-we-dropdown-item-hover-color: $o-we-fg-light !default; $o-we-dropdown-item-active-bg: mix($o-we-dropdown-item-bg, $o-we-dropdown-item-bg-hover) !default; $o-we-dropdown-item-active-color: $o-we-fg-lighter !default; $o-we-dropdown-caret-spacing: 2px !default; $o-we-sidebar-bg: $o-we-bg !default; $o-we-sidebar-color: $o-we-color !default; $o-we-sidebar-font-size: 12px !default; $o-we-sidebar-border-width: $o-we-border-width !default; $o-we-sidebar-border-color: $o-we-border-color !default; $o-we-sidebar-width: $o-we-sidebar-border-width + 290px !default; $o-we-sidebar-top-height: 46px !default; $o-we-sidebar-tabs-size-ratio: 1 !default; $o-we-sidebar-tabs-bg: $o-we-bg-darker !default; $o-we-sidebar-tabs-color: $o-we-sidebar-color !default; $o-we-sidebar-tabs-disabled-color: $o-we-fg-darker !default; $o-we-sidebar-tabs-active-border-width: 2px !default; $o-we-sidebar-tabs-active-border-color: $o-we-accent !default; $o-we-sidebar-tabs-active-color: $o-we-fg-lighter !default; $o-we-sidebar-blocks-content-bg: $o-we-bg-dark !default; $o-we-sidebar-blocks-content-spacing: 10px !default; $o-we-sidebar-blocks-content-snippet-spacing: 2px !default; $o-we-sidebar-blocks-content-snippet-bg: $o-we-bg-lighter !default; $o-we-sidebar-content-highlight-bar-width: 2px !default; $o-we-sidebar-content-highlight-bar-color: $o-we-accent !default; $o-we-sidebar-content-gutter-item-indent: 5px !default; $o-we-sidebar-content-padding-base: 10px !default; $o-we-sidebar-content-indent: $o-we-sidebar-content-gutter-item-indent + $o-we-sidebar-content-padding-base !default; $o-we-sidebar-content-backdrop-bg: rgba(black, 0.2) !default; $o-we-sidebar-content-available-room: $o-we-sidebar-width - $o-we-sidebar-content-padding-base - $o-we-sidebar-content-indent !default; $o-we-sidebar-content-main-title-height: 32px !default; $o-we-sidebar-content-main-title-color: $o-we-fg-lighter !default; $o-we-sidebar-content-main-title-font-size: 13px !default; $o-we-sidebar-content-block-spacing: 10px !default; $o-we-sidebar-content-fold-block-bg: $o-we-bg-light !default; $o-we-sidebar-content-field-spacing: $o-we-item-spacing !default; $o-we-sidebar-content-field-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-control-item-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-control-item-size: 1em !default; $o-we-sidebar-content-field-control-item-spacing: 0.5em !default; $o-we-sidebar-content-field-label-spacing: 6px !default; $o-we-sidebar-content-field-label-width: $o-we-sidebar-content-available-room * .4 !default; $o-we-sidebar-content-field-multi-spacing: $o-we-sidebar-content-field-label-spacing * .5 !default; $o-we-sidebar-content-field-height: 22px !default; $o-we-sidebar-content-field-border-width: $o-we-item-border-width !default; $o-we-sidebar-content-field-border-color:$o-we-item-border-color !default; $o-we-sidebar-content-field-border-radius: $o-we-item-border-radius !default; $o-we-sidebar-content-field-disabled-color: $o-we-sidebar-content-field-control-item-color !default; $o-we-sidebar-content-field-clickable-bg: $o-we-item-clickable-bg !default; $o-we-sidebar-content-field-clickable-color: $o-we-item-clickable-color !default; $o-we-sidebar-content-field-clickable-spacing: $o-we-sidebar-content-field-label-spacing !default; $o-we-sidebar-content-field-pressed-bg: $o-we-item-pressed-bg !default; $o-we-sidebar-content-field-pressed-color: $o-we-item-pressed-color !default; $o-we-sidebar-content-field-dropdown-spacing: $o-we-dropdown-spacing !default; $o-we-sidebar-content-field-dropdown-bg: $o-we-dropdown-bg !default; $o-we-sidebar-content-field-dropdown-border-width: $o-we-dropdown-border-width !default; $o-we-sidebar-content-field-dropdown-border-color: $o-we-dropdown-border-color !default; $o-we-sidebar-content-field-dropdown-shadow: $o-we-dropdown-shadow !default; $o-we-sidebar-content-field-dropdown-item-height: $o-we-dropdown-item-height !default; $o-we-sidebar-content-field-dropdown-item-spacing: $o-we-dropdown-item-spacing !default; $o-we-sidebar-content-field-dropdown-item-bg: $o-we-dropdown-item-bg !default; $o-we-sidebar-content-field-dropdown-item-bg-hover: $o-we-dropdown-item-bg-hover !default; $o-we-sidebar-content-field-dropdown-item-color: $o-we-dropdown-item-color !default; $o-we-sidebar-content-field-dropdown-item-hover-color: $o-we-dropdown-item-hover-color !default; $o-we-sidebar-content-field-dropdown-item-active-bg: $o-we-dropdown-item-active-bg !default; $o-we-sidebar-content-field-dropdown-item-active-color: $o-we-dropdown-item-active-color !default; $o-we-sidebar-content-field-colorpicker-size: 20px !default; $o-we-sidebar-content-field-colorpicker-size-large: 26px !default; $o-we-sidebar-content-field-colorpicker-shadow: inset 0 0 0 1px rgba(white, 0.5) !default; $o-we-sidebar-content-field-colorpicker-dropdown-bg: $o-we-bg-lightest !default; $o-we-sidebar-content-field-colorpicker-dropdown-color: $o-we-fg-light !default; $o-we-sidebar-content-field-colorpicker-dropdown-active-color: $o-we-fg-lighter !default; $o-we-sidebar-content-field-colorpicker-cc-width: 208px !default; $o-we-sidebar-content-field-colorpicker-cc-height: 26px !default; $o-we-sidebar-content-field-input-max-width: 60px !default; $o-we-sidebar-content-field-input-bg: $o-we-bg-light !default; $o-we-sidebar-content-field-input-font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $o-we-sidebar-content-field-input-unit-font-size: 11px !default; $o-we-sidebar-content-field-input-border-color: $o-we-accent !default; $o-we-sidebar-content-field-button-group-button-spacing: $o-we-sidebar-content-field-clickable-spacing; $o-we-sidebar-content-field-progress-height: 4px !default; $o-we-sidebar-content-field-progress-control-height: 10px !default; $o-we-sidebar-content-field-progress-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-progress-active-color: $o-we-accent !default; $o-we-sidebar-content-field-toggle-width: 20px !default; $o-we-sidebar-content-field-toggle-height: 12px !default; $o-we-sidebar-content-field-toggle-bg: $o-we-fg-darker !default; $o-we-sidebar-content-field-toggle-active-bg: $o-we-accent !default; $o-we-sidebar-content-field-toggle-control-width: 11px !default; $o-we-sidebar-content-field-toggle-control-height: $o-we-sidebar-content-field-toggle-height - 2px !default; $o-we-sidebar-content-field-toggle-control-bg: $o-we-fg-lighter !default; $o-we-sidebar-content-field-toggle-control-shadow: 0 2px 3px 0 $o-we-bg-darkest !default; $o-we-technical-modal-zindex: 2001; //------------------------------------------------------------------------------ // Preview component Mixins //------------------------------------------------------------------------------ @mixin o-we-preview-box($color-text: white){border-top: 1px solid black; border-bottom: 1px solid white; background-image: linear-gradient(-150deg, $o-we-bg-light, $o-we-bg-dark); color: $color-text;}@mixin o-we-preview-content{display: inline-block; max-width: 100%; overflow: hidden; box-shadow: 0 0 15px 2px #000;}//------------------------------------------------------------------------------ // Mixins to shield UI from themed bootstrap //------------------------------------------------------------------------------ @mixin o-w-preserve-base{font-size: $o-we-font-size; font-family: $o-we-font-family; line-height: 1.5; color: #33363e; .text-muted{color: #999999 !important;}}@mixin o-w-preserve-headings{h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{font-family: $o-we-font-family; line-height: 1.5; color: $o-we-bg-light; font-weight: bold;}h1, .h1{font-size: 2.4 * $o-we-font-size;}h2, .h2{font-size: 1.5 * $o-we-font-size;}h3, .h3{font-size: 1.3 * $o-we-font-size;}h4, .h4{font-size: 1.2 * $o-we-font-size;}h5, .h5{font-size: 1.1 * $o-we-font-size;}h6, .h6{font-size: $o-we-font-size;}}@mixin o-w-preserve-links{a:not(.o_btn_preview){color: $o-brand-primary; &:focus, &:active, &:focus:active{outline: none!important;}}.badge{&:hover a, a{color: #fff;}}}@mixin o-w-preserve-forms{:not(.input-group):not(.form-group):not(.input-group-append):not(.input-group-prepend) > .form-control{height: 34px;}.form-control{padding: 6px 12px; font-size: 14px; line-height: 1.5; border: 1px solid #d4d5d7; color: #555; background-color: #fff; border-radius: 0; &.is-invalid{border-color: $danger;}}.input-group .form-control{height: auto;}.input-group-text{background-color: #e9ecef;}.was-validated{.form-control:invalid{border-color: $danger;}}select.form-control{appearance: none; background: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1 sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHdpZHRoPScyNCcgaGVpZ2 h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBpZD0nc3ZnXzEnIGQ9J203LjQwNiw3L jgyOGw0LjU5NCw0LjU5NGw0LjU5NCwtNC41OTRsMC40MDYsMS40MDZsLTUsNC43NjZsLTUsLTQu NzY2bDAuNDA2LC0xLjQwNnonIGZpbGw9JyM4ODgnLz48L3N2Zz4='); background-position: 100% 65%; background-repeat: no-repeat;}}@mixin o-w-preserve-modals{.modal-content{border-radius: 0; background-color: white; .modal-header{border-bottom-color: #e9ecef;}.modal-body{background-color: white;}.modal-footer{border-top-color: #e9ecef; text-align: left;}}.close{font-size: 1.5 * $o-we-font-size;}}@mixin o-w-preserve-tabs{.nav-tabs{border-bottom: 1px solid #e9ecef; > li{> a{line-height: 1.5; color: #4e525b; &:hover{border-color: #dee2e6;}&.active{&, &:hover, &:focus{color: #3D4047; background-color: white; border-color: #dee2e6 #dee2e6 #FFFFFF;}}}}}}@mixin o-w-preserve-btn{.btn:not(.o_btn_preview){border-radius: 0; font-weight: normal; text-transform: none; @include button-size(.375rem, .75rem, 0.875rem, 1.5, 0); &.btn-primary{@include button-variant($o-brand-primary, $o-brand-primary); color: white;}&.btn-secondary{@include button-variant(white, white); color: $o-brand-primary;}&.btn-link{@include button-variant(white, white); color: $o-brand-primary;}&.btn-success{@include button-variant($o-we-color-success, $o-we-color-success); color: white;}&.btn-info{@include button-variant($o-we-color-info, $o-we-color-info); color: white;}&.btn-warning{@include button-variant($o-we-color-warning, $o-we-color-warning); color: #33363e;}&.btn-danger{@include button-variant($o-we-color-danger, $o-we-color-danger); color: #33363e;}}}@mixin o-w-preserve-cards{.card{padding: 19px; margin-bottom: 20px; background-color: white; border: 1px solid darken(white, 5%); border-radius: 0; box-shadow: none;}}@mixin o-w-preserve-dropdown-menus{.dropdown-menu{background-color: white;}.dropdown-item{color: #212529; @include hover-focus{color: darken(#212529, 5%);}&.active, &:active{color: white; @include gradient-bg($o-brand-primary);}}}//------------------------------------------------------------------------------ // Edited content //------------------------------------------------------------------------------ $o-support-13-0-color-system: false !default; $o-checklist-margin-left: 20px; $o-checklist-checkmark-width: 2px; $o-checklist-before-size: 13px; // Edition colors // Note: the "base" palettes contain all possible keys a palette should or // must contain, with a default value which should work in use cases where it // will be used. Any palette defined by an app will be merged with the base // palette once selected to ensure it works. // Colors $o-base-color-palette: ( 'o-color-1': transparent, 'o-color-2': transparent, 'o-color-3': transparent, 'o-color-4': transparent, 'o-color-5': transparent, ) !default; $o-color-palettes: ( ( 'o-color-1': scale-color($o-enterprise-primary-color, $saturation: -50%, $lightness: 20%), 'o-color-2': scale-color($o-enterprise-color, $saturation: -50%), 'o-color-3': #F6F6F6, 'o-color-4': #FFFFFF, 'o-color-5': #383E45, ), ( 'o-color-1': #337ab7, 'o-color-2': #e9ecef, 'o-color-3': #F8F9FA, 'o-color-4': #FFFFFF, 'o-color-5': #343a40, 'menu': 2, 'footer': 2, 'copyright': 5, ), ) !default; $o-color-palette-number: 1 !default; // Theme colors $o-base-theme-color-palette: () !default; $o-theme-color-palettes: ( // alpha -> epsilon are old color names kept for compatibility. // They should not be used in the code base anymore and ideally they will // not generate any classes for >= 13.4 databases. ( 'alpha': $o-enterprise-primary-color, 'beta': $o-enterprise-color, 'gamma': #5C5B80, 'delta': #5B899E, 'epsilon': #E46F78, ), ) !default; $o-theme-color-palette-number: 1 !default; // Greyscale transparent colours // Note: BS values are forced by default in every palette as the values can // be used in bootstrap_overridden.scss files through the o-color function. // Also, all of the gray colors generates bg- classes in Odoo so black and white // are added for the same reason. $o-base-gray-color-palette: ( 'white': #FFFFFF, '100': #F8F9FA, '200': #E9ECEF, '300': #DEE2E6, '400': #CED4DA, '500': #ADB5BD, '600': #6C757D, '700': #495057, '800': #343A40, '900': #212529, 'black': #000000, ) !default; $o-transparent-grays: ( 'black-15': rgba(black, 0.15), 'black-25': rgba(black, 0.25), 'black-50': rgba(black, 0.5), 'black-75': rgba(black, 0.75), 'white-25': rgba(white, 0.25), 'white-50': rgba(white, 0.5), 'white-75': rgba(white, 0.75), 'white-85': rgba(white, 0.85), ) !default; $o-gray-color-palettes: () !default; $o-gray-color-palette-number: 1 !default; // Color combinations $o-base-color-combination: ( 'bg': 'white', 'text': null, // Default to better contrast with the 'bg' 'headings': null, // Default to 'text' 'h2': null, // Default to 'h(x-1)' 'h3': null, 'h4': null, 'h5': null, 'h6': null, 'link': null, // Default to BS 'primary' (= first odoo color) 'btn-primary': null, // Default to BS 'primary' (= first odoo color) 'btn-primary-border': null, // Default to 'btn-primary' 'btn-secondary': null, // Default to BS 'secondary' (= second odoo color) 'btn-secondary-border': null, // Default to 'btn-secondary' ); $o-color-combinations-presets: ( ( ( 'bg': 'o-color-4', ), ( 'bg': 'o-color-3', 'headings': 'o-color-1', ), ( 'bg': 'o-color-2', 'btn-secondary': 'o-color-3', ), ( 'bg': 'o-color-1', 'link': 'o-color-5', 'btn-primary': 'o-color-5', 'btn-secondary': 'o-color-3', ), ( 'bg': 'o-color-5', 'headings': 'o-color-4', 'btn-secondary': 'o-color-3', ), ), ) !default; $o-color-combinations-preset-number: 1; // We allow snippets to be colored and elements like card and columns to be // colored as well. We need components targeted by those colored classes to // use the deepest coloring element config. We only allow here for this to // work for one level of nesting. Note: snippets which can contain other // snippets will have problem because of this; this is a limitation of the // system until a better solution is found. $o-color-extras-nesting-selector: '&, .o_colored_level &'; // Apply colors according to the given identifier. Can either be a preset // number, a color name or a css color. @mixin o-apply-colors($identifier, $with-extras: true, $background: $body-bg){$-related-color: o-related-color($identifier, $max-recursions: 10); @if type-of($-related-color) == 'number'{// This is a preset to be applied, just extend it. This should probably // be avoided and use the class in XML if possible. @extend .o_cc; @extend .o_cc#{$-related-color};}@else{@include o-bg-color(o-color($-related-color), $with-extras: $with-extras, $background: $background, $important: false);}}// Function which returns if a color has contrast enough in comparaison to // another given color. @function has-enough-contrast($color1, $color2){$r: (max(red($color1), red($color2))) - (min(red($color1), red($color2))); $g: (max(green($color1), green($color2))) - (min(green($color1), green($color2))); $b: (max(blue($color1), blue($color2))) - (min(blue($color1), blue($color2))); $sum-rgb: $r + $g + $b; @return ($sum-rgb >= 500);}// Function which transforms a color to increase its contrast in comparison to // another given color. @function increase-contrast($color1, $color2){@if not $color1 or not $color2{@return null;}$luma-c1: luma($color1); $luma-c2: luma($color2); $lightness-c1: lightness($color1); $lightness-inc: if($luma-c1 < $luma-c2, -1%, 1%); $i: 0; // Max 15% lightness change even if not contrasted enough @while ($lightness-c1 > 0.1% and $lightness-c1 < 99.9% and $i < 15 and not has-enough-contrast($color1, $color2)){$color1: adjust-color($color1, $lightness: $lightness-inc); $lightness-c1: $lightness-c1 + $lightness-inc; $i: $i + 1;}@return $color1;}// Print a document property the right way (depending on the type of the printed // variable). @mixin print-variable($key, $value){@if $value != null{$-type: type-of($value); @if $-type == 'string'{--#{$key}: '#{$value}';}@else if $-type == 'list'{--#{$key}: #{inspect($value)};}@else{--#{$key}: #{$value};}}}// format: (module_name: (shape_filename: ('position': X, 'size': Y, 'colors': (1, [3], ...)), ...)) $o-bg-shapes: ('web_editor': ( 'Airy/01': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Airy/02': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Airy/03': ('position': top, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Airy/04': ('position': center, 'size': 100% 100%, 'colors': (1), 'repeat-y': false), 'Airy/05': ('position': center, 'size': 100% 100%, 'colors': (1), 'repeat-y': false), 'Airy/06': ('position': bottom, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Airy/07': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Airy/08': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Airy/09': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Airy/10': ('position': bottom, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Airy/11': ('position': top, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Airy/12': ('position': top, 'size': 100% auto, 'colors': (1, 3), 'repeat-y': false), 'Airy/13': ('position': bottom, 'size': 100% auto, 'colors': (1, 4), 'repeat-y': false), 'Airy/14': ('position': bottom, 'size': 100% auto, 'colors': (1, 4), 'repeat-y': false), 'Blobs/01': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Blobs/02': ('position': bottom, 'size': 100% auto, 'colors': (1, 2), 'repeat-y': false), 'Blobs/03': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Blobs/04': ('position': center, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Blobs/05': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Blobs/06': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Blobs/07': ('position': top, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Blobs/08': ('position': right, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Blobs/09': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Blobs/10': ('position': top, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Blobs/11': ('position': center, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Blobs/12': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Blocks/01': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Blocks/01_001': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Blocks/02': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Blocks/02_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Blocks/03': ('position': bottom, 'size': 100% auto, 'colors': (1, 4), 'repeat-y': false), 'Blocks/04': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3, 5), 'repeat-y': false), 'Bold/01': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Bold/02': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3), 'repeat-y': false), 'Bold/03': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Bold/04': ('position': top, 'size': 100% auto, 'colors': (2, 3), 'repeat-y': false), 'Bold/05': ('position': center, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Bold/05_001': ('position': center, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Bold/06': ('position': center, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Bold/06_001': ('position': center, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Bold/07': ('position': bottom, 'size': 100% auto, 'colors': (1, 2), 'repeat-y': false), 'Bold/08': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Bold/09': ('position': bottom, 'size': 100% auto, 'colors': (2, 3), 'repeat-y': false), 'Bold/10': ('position': top, 'size': 100% auto, 'colors': (1, 3, 4, 5), 'repeat-y': false), 'Bold/10_001': ('position': top, 'size': 100% auto, 'colors': (1, 4, 5), 'repeat-y': false), 'Bold/11': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3), 'repeat-y': false), 'Bold/11_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 2), 'repeat-y': false), 'Bold/12': ('position': center, 'size': 100% auto, 'colors': (1, 2, 5), 'repeat-y': false), 'Origins/01': ('position': bottom, 'size': 100% auto, 'colors': (2, 5), 'repeat-y': false), 'Origins/02': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/03': ('position': top, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/04': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/05': ('position': top, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/06': ('position': center, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/07': ('position': center, 'size': 100% 100%, 'colors': (3), 'repeat-y': false), 'Origins/08': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Origins/09': ('position': top, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Origins/10': ('position': bottom, 'size': 100% auto, 'colors': (2, 5), 'repeat-y': false), 'Origins/11': ('position': top, 'size': 100% auto, 'colors': (3, 5), 'repeat-y': false), 'Origins/12': ('position': top, 'size': 100% auto, 'colors': (3, 5), 'repeat-y': false), 'Origins/13': ('position': center, 'size': 100% auto, 'colors': (3, 5), 'repeat-y': false), 'Origins/14': ('position': bottom, 'size': 100% auto, 'colors': (4), 'repeat-y': false), 'Origins/15': ('position': top, 'size': 100% auto, 'colors': (4), 'repeat-y': false), 'Rainy/01': ('position': bottom, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Rainy/02': ('position': top, 'size': 100% auto, 'colors': (1, 4, 5), 'repeat-y': false), 'Rainy/03': ('position': top, 'size': 100% auto, 'colors': (2, 4, 5), 'repeat-y': true), 'Rainy/04': ('position': top, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Rainy/05': ('position': top, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Rainy/05_001': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Rainy/06': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3), 'repeat-y': false), 'Rainy/07': ('position': top, 'size': 100% auto, 'colors': (1, 2, 3), 'repeat-y': false), 'Rainy/08': ('position': top, 'size': 100% auto, 'colors': (1, 4), 'repeat-y': false), 'Rainy/09': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Wavy/01': ('position': bottom, 'size': 100% auto, 'colors': (4), 'repeat-y': false), 'Wavy/02': ('position': top, 'size': 100% auto, 'colors': (4), 'repeat-y': false), 'Wavy/03': ('position': top, 'size': 100% auto, 'colors': (1, 2), 'repeat-y': false), 'Wavy/04': ('position': bottom, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Wavy/05': ('position': top, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Wavy/06': ('position': top, 'size': 100% auto, 'colors': (1, 3, 4, 5), 'repeat-y': false), 'Wavy/06_001': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5), 'repeat-y': false), 'Wavy/07': ('position': top, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Wavy/08': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Wavy/09': ('position': bottom, 'size': 100% auto, 'colors': (1, 5), 'repeat-y': false), 'Wavy/10': ('position': center, 'size': 100% auto, 'colors': (1, 2), 'repeat-y': false), 'Wavy/11': ('position': bottom, 'size': 100% auto, 'colors': (1, 4), 'repeat-y': false), 'Wavy/12': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Wavy/13': ('position': bottom, 'size': 100% auto, 'colors': (4), 'repeat-y': false), 'Wavy/14': ('position': bottom, 'size': 100% auto, 'colors': (1, 3), 'repeat-y': false), 'Wavy/15': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Wavy/16': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Wavy/17': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Wavy/18': ('position': bottom, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Wavy/19': ('position': top, 'size': 100% auto, 'colors': (5), 'repeat-y': false), 'Wavy/20': ('position': bottom, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Wavy/21': ('position': top, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Wavy/22': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Wavy/23': ('position': top, 'size': 100% auto, 'colors': (3), 'repeat-y': false), 'Zigs/01': ('position': bottom, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Zigs/02': ('position': bottom, 'size': 100% auto, 'colors': (2), 'repeat-y': false), 'Zigs/03': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': true), 'Zigs/04': ('position': bottom, 'size': 100% auto, 'colors': (1), 'repeat-y': false), 'Zigs/05': ('position': bottom, 'size': 100% auto, 'colors': (3), 'repeat-y': false), )); 

/* /mail/static/src/scss/variables.scss defined in bundle 'web.assets_frontend' */
$o-mail-thread-avatar-size: 36px !default; $o-mail-thread-icon-opacity: 0.6 !default; $o-mail-thread-side-date-opacity: 0.6 !default; $o-mail-thread-window-bg: #FAFAFA !default; $o-mail-thread-window-width: 325px !default; $o-mail-chatter-gap: 10px !default; $o-mail-chatter-mobile-gap: 2% !default; $o-mail-chat-header-height: 46px !default; $o-mail-attachment-image-size: 100px !default; $o-mail-sidebar-icon-opacity: 0.7 !default; $o-mail-chat-sidebar-width: 250px !default; $o-mail-partner-avatar-size: 24px !default; // Needed because $border-radius variations are all set to 0 in enterprise. $o-mail-rounded-rectangle-border-radius-sm: .2rem !default; $o-mail-rounded-rectangle-border-radius-lg: 3 * $o-mail-rounded-rectangle-border-radius-sm !default; @mixin o-mail-systray-no-notification-style{opacity: 0.5;}

/* /sh_backmate_theme_adv/static/src/scss/back_theme_config_main_scss.scss defined in bundle 'web.assets_frontend' */
 $o-enterprise-color: #5842BC; $primaryColor:#5842BC; $primary_hover:#5842BC; $primary_active:#5842BC; $gradient_color:#5927AE; $secondaryColor:#eff3f6; $secondary_hover:#eff3f6; $secondary_active:#eff3f6; $list_td_th:0.75rem !important; $header_bg_color:#FFFFFF; $header_font_color:#787373; $header_hover_color:#2C3782; $header_active_color:#2C3782; $h1_color:#000; $h2_color:#464d69; $h3_color:#464d69; $h4_color:#464d69; $h5_color:#464d69; $h6_color:#464d69; $p_color:#464d69; $h1_size:28px; $h2_size:17px; $h3_size:18px; $h4_size:13px; $h5_size:13px; $h6_size:12px; $p_size:13px; $body_font_color:#787373; $body_background_type:bg_color; $body_background_color:#FFFFFF; $body_font_family:"Odoo Unicode Support Noto", "Lucida Grande", Helvetica, Verdana, Arial, sans-serif; $button_style:style_2; $o-mail-attachment-image-size: 100px !default; $sidebar_background_style:color; $sidebar_bg_color:#FFFFFF; $sidebar_font_color:#181F4C; $sidebar_font_hover_color:#5927AE; $sidebar_font_hover_bg_color:#FFFFFF; $sidebar_is_show_nav_bar:True; $sidebar_collapse_style:expanded; $separator_style:style_7; $separator_color:#141F76; $icon_style:2d; $o-community-color:#5842BC; $o-tooltip-background-color:#5842BC; $o-brand-secondary:#eff3f6; $o-brand-odoo: $o-community-color; $o-brand-primary: $o-community-color; $is_button_with_icon_text:True; $is_button_with_box_shadow:True; $body_google_font_family:'Odoo Unicode Support Noto', 'Lucida Grande', Helvetica, Verdana, Arial, sans-serif; $is_used_google_font:False; $list_view_border:without_border; $list_view_is_hover_row:True; $list_view_hover_bg_color:#f2f2f2; $list_view_even_row_color:#ECECEC; $list_view_odd_row_color:#FFFFFF; $login_page_style: style_2; $login_page_background_type: bg_color; $login_page_background_color:#ffffff; $login_page_box_color:#ffffff; $theme_style: style_2; $is_sticky_form:True; $is_sticky_chatter:False; $is_sticky_list:False; $is_sticky_list_inside_form:False; $modal_popup_style:style_2; $tab_style: horizontal; $tab_style_mobile: horizontal; $horizontal_tab_style: style_5; $vertical_tab_style: style_5; $form_element_style: style_1; $search_style: expanded; $breadcrumb_style:style_1; $chatter_position:normal; 

/* /portal/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
$o-portal-default-body-bg: white; $o-theme-navbar-logo-height: null; $o-theme-btn-icon-hover-decoration: none; 

/* /website/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
 //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ $o-base-color-palette: map-merge($o-base-color-palette, ( 'body': $o-portal-default-body-bg, 'menu': 1, // o_cc1 'menu-border-color': null, // Default to classes used on the template 'header-boxed': '200', 'footer': 5, // o_cc5 'copyright': 'black-15', )); // By default, all user color palette values are null. Each null value is // automatically replaced with corresponsing color of chosen color palette. $o-user-color-palette: () !default; // By default, all user theme color palette values are null. Each null value // is automatically replaced with corresponsing color of chosen theme color // palette. $o-user-theme-color-palette: () !default; $o-social-colors: ( 'facebook': #3B5999, 'twitter': #55ACEE, 'linkedin': #0077B5, 'google-plus': #DD4B39, 'youtube': #ff0000, 'github': #1a1e22, 'instagram': #cf2872, 'whatsapp': #25d366, 'pinterest': #C8232C, ); $o-theme-figcaption-opacity: 0.6; $o-theme-generic-color-palettes: ( ( 'o-color-1': #984c46, 'o-color-2': #23323b, 'o-color-3': #eceae4, 'o-color-4': #FFFFFF, 'o-color-5': #16121f, 'menu': 3, 'footer': 3, ), ( 'o-color-1': #B99932, 'o-color-2': #DED1C1, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #373737, 'menu': 5, 'copyright': 4, ), ( 'o-color-1': #f8882f, 'o-color-2': #6a7c8f, 'o-color-3': #fdf8ef, 'o-color-4': #FFFFFF, 'o-color-5': #212c39, ), ( 'o-color-1': #6E7993, 'o-color-2': #96848C, 'o-color-3': #8F9AA2, 'o-color-4': #D5D5D5, 'o-color-5': #313347, 'menu': 5, ), ( 'o-color-1': #F7CF41, 'o-color-2': #1A2930, 'o-color-3': #989898, 'o-color-4': #FFFFFF, 'o-color-5': #0B1612, 'menu': 3, 'footer': 3, ), ( 'o-color-1': #45859A, 'o-color-2': #B57D4D, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #10273C, 'menu': 2, 'footer': 2, 'copyright': 5, ), ( 'o-color-1': #1a547a, 'o-color-2': #ddc76a, 'o-color-3': #D6E6F1, 'o-color-4': #FFFFFF, 'o-color-5': #2b3442, 'o-cc5-link': 'o-color-4', 'o-cc5-text': #9b9ba0, 'menu': 5, 'footer': 5, 'copyright': 3, ), ( 'o-color-1': #763240, 'o-color-2': #C19F7F, 'o-color-3': #FFFFFF, 'o-color-4': #EAEAEA, 'o-color-5': #2F2F2F, 'o-cc4-headings': 'o-color-3', 'o-cc4-link': 'o-color-3', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-headings': 'o-color-3', 'o-cc5-link': 'o-color-3', 'o-cc5-text': rgba(#fff, .8), 'footer': 1, 'copyright': 4, ), ( 'o-color-1': #4DC5C1, 'o-color-2': #EC576B, 'o-color-3': #E5E337, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'menu': 5, ), ( 'o-color-1': #b56355, 'o-color-2': #6ba17a, 'o-color-3': #ebe6ea, 'o-color-4': #FFFFFF, 'o-color-5': #343733, 'footer': 2, ), ( 'o-color-1': #01ACAB, 'o-color-2': #FEDC3D, 'o-color-3': #FAE8E0, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'footer': 1, ), ( 'o-color-1': #926190, 'o-color-2': #F3E0CD, 'o-color-3': #F9EFE9, 'o-color-4': #FFFFFF, 'o-color-5': #291528, 'o-cc4-headings': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-headings': 'o-color-4', 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), ), ( 'o-color-1': #478FA2, 'o-color-2': #CECECE, 'o-color-3': #E8E9E9, 'o-color-4': #FFFFFF, 'o-color-5': #173F54, 'footer': 1, 'copyright': 1, ), ( 'o-color-1': #3CC37C, 'o-color-2': #E9C893, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #1F3A2A, 'footer': 1, 'copyright': 5, ), ( 'o-color-1': #01524B, 'o-color-2': #1993A3, 'o-color-3': #dddde6, 'o-color-4': #FFFFFF, 'o-color-5': #011D1B, 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), 'footer': 2, 'copyright': 5, ), ( 'o-color-1': #464D77, 'o-color-2': #36827f, 'o-color-3': #f2f0ec, 'o-color-4': #FFFFFF, 'o-color-5': #22263c, 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-btn-secondary': #d6d4d0, 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), 'menu': 2, 'footer': 2, 'copyright': 5, ), ( 'o-color-1': #4717f6, 'o-color-2': #A43ACB, 'o-color-3': #FAFAFA, 'o-color-4': #FFFFFF, 'o-color-5': #0F0A19, 'menu': 5, 'footer': 5, ), ); //------------------------------------------------------------------------------ // Website customizations //------------------------------------------------------------------------------ $o-base-website-values-palette: ( 'font-size-base': 1rem, // Need a set value as the value is used in bootstrap_overridden files 'google-fonts': null, 'google-local-fonts': null, 'body-image': null, 'body-image-type': 'image', // 'image' or 'pattern' 'layout': 'full', // 'full' / 'boxed' 'color-palettes-number': null, // Default to the individual variables for each color palette type 'btn-primary-outline': false, 'btn-secondary-outline': false, 'link-underline': 'hover', // 'never' / 'hover' / 'always' 'btn-ripple': false, 'btn-padding-y': null, // Default to BS 'btn-padding-x': null, // Default to BS 'btn-font-size': null, // Default to BS 'btn-padding-y-sm': null, // Default to portal value 'btn-padding-x-sm': null, // Default to portal value 'btn-font-size-sm': null, // Default to BS 'btn-padding-y-lg': null, // Default to BS 'btn-padding-x-lg': null, // Default to BS 'btn-font-size-lg': null, // Default to BS 'btn-border-width': null, // Default to BS 'btn-border-radius': null, // Default to BS 'btn-border-radius-sm': null, // Default to BS 'btn-border-radius-lg': null, // Default to BS 'input-padding-y': null, // Default to BS 'input-padding-x': null, // Default to BS 'input-font-size': null, // Default to BS 'input-padding-y-sm': null, // Default to BS 'input-padding-x-sm': null, // Default to BS 'input-font-size-sm': null, // Default to BS 'input-padding-y-lg': null, // Default to BS 'input-padding-x-lg': null, // Default to BS 'input-font-size-lg': null, // Default to BS 'input-border-width': null, // Default to BS 'input-border-radius': null, // Default to BS 'input-border-radius-sm': null, // Default to BS 'input-border-radius-lg': null, // Default to BS // A key from the $o-theme-font-configs map (null = default to the first key) 'font': null, 'headings-font': null, 'navbar-font': null, 'buttons-font': null, 'header-template': 'default', // 'default' / 'hamburger' / 'vertical' / 'sidebar' 'header-font-size': null, // Default to BS (normal font-size) 'header-links-style': 'default', // 'default' / 'fill' / 'outline' / 'pills' / 'block' / 'border-bottom' 'logo-height': null, // Default to navbar height (see portal) 'hamburger-type': 'default', // 'default' / 'off-canvas' 'hamburger-position': 'left', // 'left' / 'center' / 'right' 'menu-border-width': null, // Default to classes used on the template 'menu-border-style': solid, // Default to classes used on the template 'menu-border-radius': null, // Default to classes used on the template 'menu-box-shadow': null, // Default to classes used on the template 'sidebar-width': 18.75rem, // 300px 'footer-template': 'default', 'footer-effect': null, // null / 'slideout_slide_hover' / 'slideout_shadow' 'footer-scrolltop': false, ); $o-font-aliases-to-keys: ( 'base': 'font', 'headings': 'headings-font', 'navbar': 'navbar-font', 'buttons': 'buttons-font', ); $o-website-values-palettes: ( ( 'headings-font': 'Source Sans Pro', 'navbar-font': 'Source Sans Pro', 'buttons-font': 'Source Sans Pro', ), ) !default; $o-website-values-palette-number: 1 !default; // By default, all user website values are null. Each null value is // automatically replaced with corresponsing value of chosen values palette. $o-user-website-values: () !default; //------------------------------------------------------------------------------ // Fonts //------------------------------------------------------------------------------ // Those are BS values, except BS hardcodes them inside the $hx-font-size // variables directly and don't make them customizable. $o-theme-h1-font-size-multiplier: 2.5 !default; $o-theme-h2-font-size-multiplier: 2 !default; $o-theme-h3-font-size-multiplier: 1.75 !default; $o-theme-h4-font-size-multiplier: 1.5 !default; $o-theme-h5-font-size-multiplier: 1.25 !default; $o-theme-h6-font-size-multiplier: 1 !default; // Map: // <font-name>: ( // 'family': <css font family list>, // 'url': <related part of google fonts URL>, // 'properties' (optional): ( // <font-alias>: ( // <website-value-key>: <value>, // ..., // ), // ..., // ) // ) $o-theme-font-configs: ( 'Roboto': ( 'family': ('Roboto', sans-serif), 'url': 'Roboto:300,300i,400,400i,700,700i', ), 'Open Sans': ( 'family': ('Open Sans', sans-serif), 'url': 'Open+Sans:300,300i,400,400i,700,700i', ), 'Source Sans Pro': ( 'family': ('Source Sans Pro', sans-serif), 'url': 'Source+Sans+Pro:300,300i,400,400i,700,700i', ), 'Raleway': ( 'family': ('Raleway', sans-serif), 'url': 'Raleway:300,300i,400,400i,700,700i', ), 'Noto Serif': ( 'family': ('Noto Serif', serif), 'url': 'Noto+Serif:300,300i,400,400i,700,700i', ), 'Arvo': ( 'family': ('Arvo', Times, serif), 'url': 'Arvo:300,300i,400,400i,700,700i', ), ) !default; //------------------------------------------------------------------------------ // Mixins //------------------------------------------------------------------------------ @mixin o-ribbon-right(){@include o-position-absolute($top: 0, $right: 0); padding: 0.5rem $ribbon-padding; // 0.708 is 1 - cos(45deg) // Transforms are applied right-to-left // Cannot use matrix because of the use of % values. transform: translateX(calc(-0.708 * (100% - #{2 * $ribbon-padding}))) rotate(45deg) translateX(calc(100% - #{$ribbon-padding})); transform-origin: top right;}; @mixin o-ribbon-left(){@include o-position-absolute($top: 0, $left: 0); padding: 0.5rem $ribbon-padding; transform: translateX(calc(0.708 * (100% - #{2 * $ribbon-padding}) - 100%)) rotate(-45deg) translateX($ribbon-padding); transform-origin: top right;}; @mixin o-tag-right(){@include o-position-absolute($top: 0, $right: 0); padding: 0.25rem 1rem;}; @mixin o-tag-left(){@include o-position-absolute($top: 0, $left: 0); padding: 0.25rem 1rem;}; 

/* /website/static/src/scss/options/user_values.scss defined in bundle 'web.assets_frontend' */
// This file is meant to be edited automatically by the user. The variables it // contains should not be renamed otherwise it would break existing customers // customizations. $o-user-website-values: map-merge($o-user-website-values, o-map-omit(( // -- hook -- ))); 

/* /website/static/src/scss/options/colors/user_color_palette.scss defined in bundle 'web.assets_frontend' */
 $o-user-color-palette: map-merge($o-user-color-palette, o-map-omit(( // -- hook -- ))); 

/* /website/static/src/scss/options/colors/user_theme_color_palette.scss defined in bundle 'web.assets_frontend' */
 $o-user-theme-color-palette: map-merge($o-user-theme-color-palette, o-map-omit(( // -- hook -- ))); 

/* /website/static/src/snippets/s_badge/000_variables.scss defined in bundle 'web.assets_frontend' */
$s-badge-border-radius: null; $s-badge-padding: .5rem; $s-badge-margin: .5rem .5rem .5rem 0; $s-badge-i-margin: 0 .3rem 0 0; 

/* /website/static/src/snippets/s_product_list/000_variables.scss defined in bundle 'web.assets_frontend' */
@mixin s-product-list-img-hook{}

/* /website_sale/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
$o-wsale-products-layout-grid-ratio: 1.0 !default; 

/* /account/static/src/scss/variables.scss defined in bundle 'web.assets_frontend' */
$o-account-action-col-width: 15px; $o-account-main-table-borders-padding: 3px; $o-account-light-border: 1px solid #bbb; $o-account-initial-line-background: #f0f0f0; $o-account-info-color: #44c; @keyframes animate-red{0%{color: red;}100%{color: inherit;}}.animate{animation: animate-red 1s ease;}

/* /hr_org_chart/static/src/scss/variables.scss defined in bundle 'web.assets_frontend' */
$o-hr-org-chart-bg: white; $o-hr-org-chart-border-color: $o-brand-secondary; $o-hr-org-chart-entry-v-gap: 6px; $o-hr-org-chart-entry-pic-size: 46px; $o-hr-org-chart-entry-line-w: 1px; $o-hr-org-chart-entry-border-color: darken($o-hr-org-chart-bg, 25%); // MIXINS @mixin o-hr-org-chart-line{content: ''; background-color: $o-hr-org-chart-bg; border: 0px solid $o-hr-org-chart-entry-border-color;}

/* /website/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
//------------------------------------------------------------------------------ // Website customizations //------------------------------------------------------------------------------ // Complete the base website values palette with the first defined font $-first-font-name: nth(map-keys($o-theme-font-configs), 1); @each $alias, $key in $o-font-aliases-to-keys{@if map-get($o-base-website-values-palette, $key) == null{$o-base-website-values-palette: map-merge($o-base-website-values-palette, ( $key: $-first-font-name, ));}}@function o-add-font-config($values){@each $alias, $key in $o-font-aliases-to-keys{$font-name: map-get($values, $key); $font-config: o-safe-get($o-theme-font-configs, $font-name, ()); $font-properties: o-safe-get($font-config, 'properties', ()); $type-font-properties: o-safe-get($font-properties, $alias, ()); $values: map-merge($values, $type-font-properties);}@return $values;}// Some fonts have been renamed in a stable version, and for retro compatibility // for users which have a custom user_values.css as attachment with an old font // already used, we map the old font with the new `similar` font $o-fonts-similar: ( 'Droid Serif': 'Noto Serif', 'SinKinSans': 'Spartan', 'Proxima': 'Montserrat', 'Comic Sans MS': 'Comic Neue', 'Fontastique': 'Bubblegum Sans', 'Luminari': 'Eagle Lake', 'Fecske': 'Marcellus', 'Din Alternate': 'Roboto', ); @function o-map-font-aliases($values){$-values: $values; @each $key in map-values($o-font-aliases-to-keys){$value: map-get($values, $key); @if ($value and map-has-key($o-fonts-similar, $value)){$-values: map-merge($-values, ( $key: map-get($o-fonts-similar, $value), ));}}@return $-values;}; // By default, most website palette values are null. Each null value is // automatically replaced with corresponsing values in chosen default values // palette. $-website-values-default: o-safe-nth($o-website-values-palettes, $o-website-values-palette-number, ()); $-website-values-default: map-merge($o-base-website-values-palette, o-map-omit($-website-values-default)); $o-user-website-values: o-map-font-aliases(o-map-omit($o-user-website-values)); $-actual-user-website-values-palette: map-merge($-website-values-default, $o-user-website-values); // Default font selection + User font selection have been merged, now need to // add the right associated font default config $-actual-user-website-values-palette: o-add-font-config($-actual-user-website-values-palette); // Reforce the properties which already had a set values in the user map (the // font properties override the default palette values but not the user ones) $-actual-user-website-values-palette: map-merge($-actual-user-website-values-palette, $o-user-website-values); $o-website-values-palettes: append($o-website-values-palettes, $-actual-user-website-values-palette); // Enable last website values palette, which is now the user customized one $o-website-values-palette-number: length($o-website-values-palettes); $o-website-values: $-actual-user-website-values-palette !default; @function o-website-value($key){@return map-get($o-website-values, $key);}$o-theme-navbar-logo-height: o-website-value('logo-height') !default; $o-theme-navbar-fixed-logo-height: o-website-value('fixed-logo-height') !default; //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ // First change the palette number to the actual user choice if any. $-color-palettes-number: o-website-value('color-palettes-number'); @if $-color-palettes-number{$o-color-palette-number: $-color-palettes-number; $o-theme-color-palette-number: $-color-palettes-number; $o-gray-color-palette-number: $-color-palettes-number;}$o-has-customized-13-0-color-system: not not (map-get($o-user-theme-color-palette, 'primary') or map-get($o-user-theme-color-palette, 'secondary') or map-get($o-user-theme-color-palette, 'alpha') or map-get($o-user-theme-color-palette, 'beta') or map-get($o-user-theme-color-palette, 'gamma') or map-get($o-user-theme-color-palette, 'delta') or map-get($o-user-theme-color-palette, 'epsilon')); $o-has-customized-colors: not not (length(map-keys(o-map-omit($o-user-color-palette))) > 0 or map-get($o-user-theme-color-palette, 'success') or map-get($o-user-theme-color-palette, 'info') or map-get($o-user-theme-color-palette, 'warning') or map-get($o-user-theme-color-palette, 'danger')); // Color palette // ------------- // Add generic color palettes $o-color-palettes: join($o-color-palettes, $o-theme-generic-color-palettes); // By default, most user color palette values are null. Each null value is // automatically replaced with corresponsing colors in chosen default color // palette. $-palette-default: o-safe-nth($o-color-palettes, $o-color-palette-number, ()); $-actual-user-color-palette: map-merge($-palette-default, o-map-omit($o-user-color-palette)); $o-color-palettes: append($o-color-palettes, $-actual-user-color-palette); // Theme color palette // ------------------- // alpha -> epsilon colors are from the old color system, this is kept for // compatibility: Generate default theme color scheme if alpha is set $-alpha: map-get($o-user-theme-color-palette, 'alpha'); @if ($-alpha){$o-user-theme-color-palette: map-merge(( beta: lighten(desaturate($-alpha, 60%), 30%), gamma: desaturate(adjust-hue($-alpha, -45deg), 10%), delta: desaturate(adjust-hue($-alpha, 45deg), 10%), epsilon: desaturate(adjust-hue($-alpha, 180deg), 10%), ), o-map-omit($o-user-theme-color-palette));}// By default, all user theme color palette values are null. Each null value is // automatically replaced with corresponsing colors in chosen default theme // color palette. $-palette-default: o-safe-nth($o-theme-color-palettes, $o-theme-color-palette-number, ()); $-actual-user-theme-color-palette: map-merge($-palette-default, o-map-omit($o-user-theme-color-palette)); // Always remove the primary/secondary which were customizable in some theme // in Odoo <= 13.3. The customer can always rechoose the right color in the // Odoo color system as the first two ones are mapped to primary/secondary. $-actual-user-theme-color-palette: map-remove($-actual-user-theme-color-palette, 'primary', 'secondary' ); $o-theme-color-palettes: append($o-theme-color-palettes, $-actual-user-theme-color-palette); // --- // Enable last color and theme color palettes, which are now the user customized // color palettes. $o-original-color-palette-number: $o-color-palette-number; $o-color-palette-number: length($o-color-palettes); $o-theme-color-palette-number: length($o-theme-color-palettes); $o-we-auto-contrast-exclusions: () !default; $o-we-auto-contrast-exclusions: join($o-we-auto-contrast-exclusions, map-keys(o-map-omit($o-user-color-palette))); //------------------------------------------------------------------------------ // Fonts //------------------------------------------------------------------------------ // Merge base fonts with user-added google fonts @each $font-name in (o-website-value('google-fonts') or ()){$o-theme-font-configs: map-merge($o-theme-font-configs, ( $font-name: ( 'family': (quote($font-name), sans-serif), 'url': quote($font-name) + ':300,300i,400,400i,700,700i', ), ));}// Add locally hosted google fonts @each $font-name, $font-attach-id in (o-website-value('google-local-fonts') or ()){$o-theme-font-configs: map-merge($o-theme-font-configs, ( $font-name: ( 'family': (quote($font-name), sans-serif), 'attachment': $font-attach-id, 'name': quote($font-name), ), ));}// Add odoo unicode support for all fonts @each $font-name, $font-config in $o-theme-font-configs{$o-theme-font-configs: map-merge($o-theme-font-configs, ( $font-name: map-merge($font-config, ( 'family': o-add-unicode-support-font(map-get($font-config, 'family')), )), ));}// Function which allows to retrieve a base info (family, url, properties) about // a component (base, navbar, ...)'s font. The font name is retrievable via a // simple o-website-value call. @function o-get-font-info($alias: 'base', $config-key: 'family'){$key: map-get($o-font-aliases-to-keys, $alias); $font-name: o-website-value($key); $-font-config: o-safe-get($o-theme-font-configs, $font-name, ()); @return map-get($-font-config, $config-key);}$o-theme-font: o-get-font-info('base') or (sans-serif,) !default; $o-theme-headings-font: o-get-font-info('headings') or $o-theme-font !default; $o-theme-navbar-font: o-get-font-info('navbar') or $o-theme-font !default; $o-theme-buttons-font: o-get-font-info('buttons') or $o-theme-font !default; 

/* /web_editor/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
 //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ // Color combinations $o-color-combinations: o-safe-nth($o-color-combinations-presets, $o-color-combinations-preset-number, ()) !default; $-combination-additions: (); @for $index from 1 through length($o-color-combinations){$combination: map-merge($o-base-color-combination, nth($o-color-combinations, $index)); @each $element, $color in $combination{$-combination-additions: map-merge($-combination-additions, ( 'o-cc#{$index}-#{$element}': $color, ));}}// Colors $o-color-palette: o-safe-nth($o-color-palettes, $o-color-palette-number, ()) !default; // Original color palette can contain override of the default combinations (so keep 'null' values for this merge) $o-color-palette: map-merge($-combination-additions, $o-color-palette); $o-color-palette: map-merge($o-base-color-palette, o-map-omit($o-color-palette)); // Theme colors $o-theme-color-palette: o-safe-nth($o-theme-color-palettes, $o-theme-color-palette-number, ()) !default; @if not $o-support-13-0-color-system{$o-theme-color-palette: map-remove($o-theme-color-palette, 'alpha', 'beta', 'gamma', 'delta', 'epsilon');}$-main-color: map-get($o-color-palette, 'o-color-1'); $-main-color-lightness: lightness($-main-color); $o-theme-color-palette: map-merge(( // color 1 and 2 are used to override primary and secondary BS4 // colors by default, so that theme colors affect the default Odoo layouts 'primary': $-main-color, 'secondary': map-get($o-color-palette, 'o-color-2'), // BS light and dark colors are not used for any BS component, just // for color utilities. By default, we set them to a very light and // very dark version of a desaturate version of the main color 'light': lighten(desaturate($-main-color, 80%), min(70%, max(0%, 97% - $-main-color-lightness))), // Does not increase over 97% lightness 'dark': darken(desaturate($-main-color, 80%), min(70%, max(0%, $-main-color-lightness - 10%))), // Does not lower under 10% lightness ), o-map-omit($o-theme-color-palette)); $o-theme-color-palette: map-merge($o-base-theme-color-palette, o-map-omit($o-theme-color-palette)); // Gray colors // Extend grays with transparent ones (for some reason, BS4 create black-50 and // white-50 but does not allow overridding that with variables). $o-gray-color-palette: o-safe-nth($o-gray-color-palettes, $o-gray-color-palette-number, ()) !default; $o-gray-color-palette: map-merge($o-transparent-grays, o-map-omit($o-gray-color-palette)); $o-gray-color-palette: map-merge($o-base-gray-color-palette, o-map-omit($o-gray-color-palette)); $o-color-system-initialized: false; // Returns: // - true if the given name is a css color or null // - false if a potential valid color name // - throws an error if the given arg cannot reference a color @function check-color-identifier-type($name){$-type: type-of($name); @if $-type == 'color' or $-type == 'null'{@return true;}@else if $-type != 'string'{@error "Color name '#{$name}' is of unsupported type '#{$-type}'";}@return false;}@function use-cc-bg($name){@if type-of($name) == 'number'{// Preset number, let's return the background color of the related // preset. @return 'o-cc#{$name}-bg';}@return $name;}// Looks up for the color related to the given name in the related odoo palettes // following redirection a maximum number of time (by default none). @function o-related-color($name, $max-recursions: 0, $original-name: $name, $use-cc-bg: false){@if $use-cc-bg{$name: use-cc-bg($name);}@else if type-of($name) == 'number'{@return $name;}@if $max-recursions < 0 or check-color-identifier-type($name){@return $name;}$-value: null; @if map-has-key($o-color-palette, $name){$-value: map-get($o-color-palette, $name);}@else if map-has-key($o-theme-color-palette, $name){$-value: map-get($o-theme-color-palette, $name);}@else if map-has-key($o-gray-color-palette, $name){$-value: map-get($o-gray-color-palette, $name);}@return o-related-color($-value, $max-recursions - 1, $original-name);}// Function which allows to retrieve a color value from a name, the color being // either in $theme-colors, $grays or $colors maps. If those maps are not // initialized yet, it will look up the color in the related odoo palettes. @function o-color($name){$name: use-cc-bg($name); @if check-color-identifier-type($name){@return $name;}// When the system is initialized, it means that the bootstrap maps have // been configured and contain a direct mapping between color name -> css // value. We can thus search in those. @if $o-color-system-initialized{@if map-has-key($colors, $name){@return color($name);}@if map-has-key($theme-colors, $name){@return theme-color($name);}@if map-has-key($grays, $name){@return gray($name);}}// If not initialized, search the css color value in selected color palettes @return o-related-color($name, $max-recursions: 10, $use-cc-bg: true);}// Same as 'increase-contrast' except that the color is not changed if the given // related color name is part of the given exclusion list (default to a global // exclusion list which can be extended by other apps). $o-we-auto-contrast-exclusions: () !default; @function auto-contrast($color1, $color2, $color1-name, $exclude: $o-we-auto-contrast-exclusions){@if index($exclude, $color1-name){@return $color1;}@return increase-contrast($color1, $color2);}

/* /web/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
$o-webclient-background-color: desaturate($o-gray-100, 100%) !default; $o-control-panel-background-color: $o-view-background-color !default; $o-list-footer-color: $o-main-text-color !default; $o-list-group-header-color: lighten($o-brand-lightsecondary, 10%) !default; // UI custom colors for tags, kanban records' colors, ...) // Note: the first value is the old BS3 gray-light value $o-colors: lighten(#000, 46.7%), #F06050, #F4A460, #F7CD1F, #6CC1ED, #814968, #EB7E7F, #2C8397, #475577, #D6145F, #30C381, #9365B8 !default; $o-colors-secondary: #aa4b6b, #30C381, #97743a, #F7CD1F, #4285F4, #8E24AA, #D6145F, #173e43, #348F50, #AA3A38, #795548, #5e0231, #6be585, #999966, #e9d362, #b56969, #bdc3c7, #649173 !default; // UI custom colors, complete list $o-colors-complete: join( set-nth($o-colors, 1, #134E5E), $o-colors-secondary )!default; $o-sheet-cancel-hpadding: $o-horizontal-padding !default; $o-sheet-cancel-bpadding: $o-horizontal-padding !default; $o-statusbar-arrow-width: $o-statusbar-height / 3 !default; $o-statusbar-disabled-bg: lighten($o-brand-lightsecondary, 7%) !default; $o-navbar-inverse-link-hover-bg: darken($o-brand-odoo, 10%) !default; $o-datepicker-week-bg-color: lighten($o-datepicker-week-color, 30%) !default; // Kanban $o-kanban-record-margin: $o-horizontal-padding / 2 !default; $o-kanban-group-padding: $o-horizontal-padding !default; // Cannot be higher than this $o-kanban-inside-hgutter-mobile: $o-horizontal-padding !default; // ------- Kanban dashboard variables ------- // Since rows and containers are used inside cards, we're // forced to set the padding relative to the grid system. $o-kanban-dashboard-hpadding: $o-horizontal-padding !default; $o-kanban-dashboard-vpadding: $o-horizontal-padding / 2 !default; 

/* /website/static/src/scss/user_custom_bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// // /!\ // This file is meant to regroup your bootstrap customizations. In that file, // you must define variables *ONLY*. If you want to introduce new CSS rules // for your website, check the 'user_custom_rules.scss' file you can also edit. // /!\ // // You can change the value of a variable you can find in the bootstrap 4 // documentation (or in the file /web/static/lib/bootstrap/scss/_variables.scss) // and Odoo will automatically adapt its design to your new bootstrap. For // example, doing this will make some shadows and gradients appear, especially // for your buttons design: // // $enable-shadows: true; // $enable-gradients: true; // // Notice that Odoo already overrides bootstrap variables according to your // choices via the website builder (especially 3rd tab of the editor panel). You // should first take a look at it and do customizations this way. Indeed, if you // override the same variables yourself, Odoo will either have to ignore them or // not be able to make the website builder work properly for these variables // anymore. // 

/* /website/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// // Color system // // Use auto threshold for yiq colors // Note: also need to be defined here so that color-yiq below works $yiq-contrasted-threshold: false !default; // Customize the light and dark text colors for use in our YIQ color contrast function. $yiq-text-dark: o-color('900') !default; $yiq-text-light: o-color('white') !default; // Spacing // // Control the default styling of most Bootstrap elements by modifying these // variables. Mostly focused on spacing. // You can add more entries to the $spacers map, should you need more variation. $spacer: 1rem !default; // Need to predefine as used below // Body // // Settings for the `<body>` element. $body-bg: if(o-website-value('layout') != 'full', o-color('body'), o-color('o-cc1-bg')) !default; $body-color: o-color('o-cc1-text') or color-yiq(o-color('o-cc1-bg')) !default; // Links // // Style anchor elements. $-link-color: o-color('o-cc1-link'); $-link-color: if($-link-color, $-link-color, o-color('primary')); $link-color: auto-contrast($-link-color, o-color('o-cc1-bg'), 'o-cc1-link') !default; $link-hover-color: auto-contrast(darken($link-color, 15%), o-color('o-cc1-bg'), 'o-cc1-link') !default; $link-decoration: if(o-website-value('link-underline') == 'always', underline, none) !default; $link-hover-decoration: if(o-website-value('link-underline') != 'never', underline, none) !default; // Components // // Define common padding and border radius sizes and more. // Note: for the 'active' color, color preset edition is not really flexible but // this could come in a future update. $component-active-bg: o-color('o-cc1-btn-primary') !default; $component-active-color: if($component-active-bg, color-yiq($component-active-bg), null) !default; // Fonts // // Font, line-height, and color for body text, headings, and more. $font-family-sans-serif: $o-theme-font !default; $font-size-base: o-website-value('font-size-base') !default; $h1-font-size: $font-size-base * $o-theme-h1-font-size-multiplier !default; $h2-font-size: $font-size-base * $o-theme-h2-font-size-multiplier !default; $h3-font-size: $font-size-base * $o-theme-h3-font-size-multiplier !default; $h4-font-size: $font-size-base * $o-theme-h4-font-size-multiplier !default; $h5-font-size: $font-size-base * $o-theme-h5-font-size-multiplier !default; $h6-font-size: $font-size-base * $o-theme-h6-font-size-multiplier !default; $headings-font-family: $o-theme-headings-font !default; $headings-color: o-color('o-cc1-headings') !default; $text-muted: mute-color($body-color) !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y: o-website-value('btn-padding-y') !default; $btn-padding-x: o-website-value('btn-padding-x') !default; $btn-font-size: o-website-value('btn-font-size') !default; $btn-padding-y-sm: o-website-value('btn-padding-y-sm') !default; $btn-padding-x-sm: o-website-value('btn-padding-x-sm') !default; $btn-font-size-sm: o-website-value('btn-font-size-sm') !default; $btn-padding-y-lg: o-website-value('btn-padding-y-lg') !default; $btn-padding-x-lg: o-website-value('btn-padding-x-lg') !default; $btn-font-size-lg: o-website-value('btn-font-size-lg') !default; $btn-border-width: o-website-value('btn-border-width') !default; $btn-border-radius: o-website-value('btn-border-radius') !default; $btn-border-radius-lg: o-website-value('btn-border-radius-lg') !default; $btn-border-radius-sm: o-website-value('btn-border-radius-sm') !default; // Forms $input-padding-y: o-website-value('input-padding-y') !default; $input-padding-x: o-website-value('input-padding-x') !default; $input-font-size: o-website-value('input-font-size') !default; $input-padding-y-sm: o-website-value('input-padding-y-sm') !default; $input-padding-x-sm: o-website-value('input-padding-x-sm') !default; $input-font-size-sm: o-website-value('input-font-size-sm') !default; $input-padding-y-lg: o-website-value('input-padding-y-lg') !default; $input-padding-x-lg: o-website-value('input-padding-x-lg') !default; $input-font-size-lg: o-website-value('input-font-size-lg') !default; $input-border-width: o-website-value('input-border-width') !default; $input-border-radius: o-website-value('input-border-radius') !default; $input-border-radius-lg: o-website-value('input-border-radius-lg') !default; $input-border-radius-sm: o-website-value('input-border-radius-sm') !default; // Navbar // Increase default navbar padding for some navbar styles $navbar-padding-y: if(index(('fill', 'pills', 'outline'), o-website-value('header-links-style')), ($spacer / 2) * 1.25, null) !default; $navbar-nav-link-padding-x: if(index(('outline', 'block'), o-website-value('header-links-style')), .5rem * 3, null) !default; $navbar-nav-link-padding-x: if(o-website-value('header-links-style') == 'border-bottom', .5rem * 2, null) !default; // Jumbotron $jumbotron-bg: transparent !default; // Bootstrap Review $o-btn-outline-defaults: () !default; @each $color in ('primary', 'secondary'){@if o-website-value('btn-#{$color}-outline'){$o-btn-outline-defaults: append($o-btn-outline-defaults, $color);}}// Increase default navbar pills padding for 'pills' mode and add big radius $o-navbar-nav-pills-link-padding-x: if(o-website-value('header-links-style') == 'pills', 1rem * 1.5, null) !default; $o-navbar-nav-pills-link-border-radius: if(o-website-value('header-links-style') == 'pills', 10rem, null) !default; 

/* /portal/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// This variable affects the `.h-*` and `.w-*` classes. $sizes: () !default; $sizes: map-merge(( 0: 0, ), $sizes); // Body // // Settings for the `<body>` element. $body-bg: $o-portal-default-body-bg !default; // Fonts // // Font, line-height, and color for body text, headings, and more. $font-size-sm: (12 / 16) * 1rem !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y-sm: (1 / 16) * 1rem !default; $btn-padding-x-sm: (5 / 16) * 1rem !default; // Navbar $navbar-dark-toggler-border-color: transparent; $navbar-light-toggler-border-color: transparent; // Modals $modal-lg: $o-modal-lg; $modal-md: $o-modal-md; 

/* /web_editor/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// Use auto threshold for yiq colors $yiq-contrasted-threshold: false !default; // Automatically update bootstrap colors map (unused by BS itself) $colors: () !default; @each $name, $color in $o-color-palette{$colors: map-merge(('#{$name}': o-color($color)), $colors);}$o-btn-bg-colors: () !default; $o-btn-bg-colors: map-merge(( 'primary': o-color('o-cc1-btn-primary'), 'secondary': o-color('o-cc1-btn-secondary'), ), $o-btn-bg-colors); $o-btn-border-colors: () !default; $o-btn-border-colors: map-merge(( 'primary': o-color('o-cc1-btn-primary-border'), 'secondary': o-color('o-cc1-btn-secondary-border'), ), $o-btn-border-colors); // Automatically extend bootstrap to create theme background/text/button classes $theme-colors: () !default; @each $name, $color in $o-theme-color-palette{$theme-colors: map-merge(('#{$name}': o-color($color)), $theme-colors);}// Automatically extend bootstrap gray palette (the theme palette is supposed to // at least declare white and black) $grays: () !default; @each $name, $color in $o-gray-color-palette{$grays: map-merge(('#{$name}': o-color($color)), $grays);}// Bootstrap use standard variables to define individual colors which are then // placed into a map which is then used to get the value of each individual // color. As BS4 allows to extend the map a priori to define our own colors, // it does not take care of making the standard variables match the values in // the user's map. The problem is that, at least for grays, bootstrap uses the // standard variables in its _variables.scss file, so if: // // User file: // $grays: ( // '100': blue, // ); // // BS4: // $gray-100: gray !default; // $grays: () !default; // $grays: map-merge(( // '100': $gray-100, // ), $grays); // // -> Here gray('100') is blue but $gray-100 is still gray... so BS4 is not // correctly generated as BS4 uses $gray-100 in _variables.scss $primary: theme-color('primary') !default; $secondary: theme-color('secondary') !default; $success: theme-color('success') !default; $info: theme-color('info') !default; $warning: theme-color('warning') !default; $danger: theme-color('danger') !default; $light: theme-color('light') !default; $dark: theme-color('dark') !default; $white: gray('white') !default; $gray-100: gray('100') !default; $gray-200: gray('200') !default; $gray-300: gray('300') !default; $gray-400: gray('400') !default; $gray-500: gray('500') !default; $gray-600: gray('600') !default; $gray-700: gray('700') !default; $gray-800: gray('800') !default; $gray-900: gray('900') !default; $black: gray('black') !default; $o-color-system-initialized: true; 

/* /web/static/src/scss/bootstrap_overridden_frontend.scss defined in bundle 'web.assets_frontend' */
// Fonts // // Font, line-height, and color for body text, headings, and more. $font-size-base: (14 / 16) * 1rem !default; // Inherit color for blockquote-footer, use text-muted on top of it if you want // a muted one. This is defined here to be consistent in the whole frontend, as // when used with background classes, it should not be forced to a gray color. $blockquote-small-color: inherit !default; // Figures // Inherit color for figure-caption, use text-muted on top of it if you want // a muted one. This is defined here to be consistent in the whole frontend, as // when used with background classes, it should not be forced to a gray color. $figure-caption-color: inherit !default; 

/* /web/static/lib/bootstrap/scss/_variables.scss defined in bundle 'web.assets_frontend' */
// Variables // // Variables should follow the `$component-state-property-size` formula for // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. // Color system $white: #fff !default; $gray-100: #f8f9fa !default; $gray-200: #e9ecef !default; $gray-300: #dee2e6 !default; $gray-400: #ced4da !default; $gray-500: #adb5bd !default; $gray-600: #6c757d !default; $gray-700: #495057 !default; $gray-800: #343a40 !default; $gray-900: #212529 !default; $black: #000 !default; $grays: () !default; // stylelint-disable-next-line scss/dollar-variable-default $grays: map-merge( ( "100": $gray-100, "200": $gray-200, "300": $gray-300, "400": $gray-400, "500": $gray-500, "600": $gray-600, "700": $gray-700, "800": $gray-800, "900": $gray-900 ), $grays ); $blue: #007bff !default; $indigo: #6610f2 !default; $purple: #6f42c1 !default; $pink: #e83e8c !default; $red: #dc3545 !default; $orange: #fd7e14 !default; $yellow: #ffc107 !default; $green: #28a745 !default; $teal: #20c997 !default; $cyan: #17a2b8 !default; $colors: () !default; // stylelint-disable-next-line scss/dollar-variable-default $colors: map-merge( ( "blue": $blue, "indigo": $indigo, "purple": $purple, "pink": $pink, "red": $red, "orange": $orange, "yellow": $yellow, "green": $green, "teal": $teal, "cyan": $cyan, "white": $white, "gray": $gray-600, "gray-dark": $gray-800 ), $colors ); $primary: $blue !default; $secondary: $gray-600 !default; $success: $green !default; $info: $cyan !default; $warning: $yellow !default; $danger: $red !default; $light: $gray-100 !default; $dark: $gray-800 !default; $theme-colors: () !default; // stylelint-disable-next-line scss/dollar-variable-default $theme-colors: map-merge( ( "primary": $primary, "secondary": $secondary, "success": $success, "info": $info, "warning": $warning, "danger": $danger, "light": $light, "dark": $dark ), $theme-colors ); // Set a specific jump point for requesting color jumps $theme-color-interval: 8% !default; // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. $yiq-contrasted-threshold: 150 !default; // Customize the light and dark text colors for use in our YIQ color contrast function. $yiq-text-dark: $gray-900 !default; $yiq-text-light: $white !default; // Options // // Quickly modify global styling by enabling or disabling optional features. $enable-caret: true !default; $enable-rounded: true !default; $enable-shadows: false !default; $enable-gradients: false !default; $enable-transitions: true !default; $enable-prefers-reduced-motion-media-query: true !default; $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS $enable-grid-classes: true !default; $enable-pointer-cursor-for-buttons: true !default; $enable-print-styles: true !default; $enable-responsive-font-sizes: false !default; $enable-validation-icons: true !default; $enable-deprecation-messages: true !default; // Spacing // // Control the default styling of most Bootstrap elements by modifying these // variables. Mostly focused on spacing. // You can add more entries to the $spacers map, should you need more variation. $spacer: 1rem !default; $spacers: () !default; // stylelint-disable-next-line scss/dollar-variable-default $spacers: map-merge( ( 0: 0, 1: ($spacer * .25), 2: ($spacer * .5), 3: $spacer, 4: ($spacer * 1.5), 5: ($spacer * 3) ), $spacers ); // This variable affects the `.h-*` and `.w-*` classes. $sizes: () !default; // stylelint-disable-next-line scss/dollar-variable-default $sizes: map-merge( ( 25: 25%, 50: 50%, 75: 75%, 100: 100%, auto: auto ), $sizes ); // Body // // Settings for the `<body>` element. $body-bg: $white !default; $body-color: $gray-900 !default; // Links // // Style anchor elements. $link-color: theme-color("primary") !default; $link-decoration: none !default; $link-hover-color: darken($link-color, 15%) !default; $link-hover-decoration: underline !default; // Darken percentage for links with `.text-*` class (e.g. `.text-success`) $emphasized-link-hover-darken-percentage: 15% !default; // Paragraphs // // Style p element. $paragraph-margin-bottom: 1rem !default; // Grid breakpoints // // Define the minimum dimensions at which your layout will change, // adapting to different screen sizes, for use in media queries. $grid-breakpoints: ( xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px ) !default; @include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); @include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); // Grid containers // // Define the maximum width of `.container` for different screen sizes. $container-max-widths: ( sm: 540px, md: 720px, lg: 960px, xl: 1140px ) !default; @include _assert-ascending($container-max-widths, "$container-max-widths"); // Grid columns // // Set the number of columns and specify the width of the gutters. $grid-columns: 12 !default; $grid-gutter-width: 30px !default; // Components // // Define common padding and border radius sizes and more. $line-height-lg: 1.5 !default; $line-height-sm: 1.5 !default; $border-width: 1px !default; $border-color: $gray-300 !default; $border-radius: .25rem !default; $border-radius-lg: .3rem !default; $border-radius-sm: .2rem !default; $rounded-pill: 50rem !default; $box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; $box-shadow: 0 .5rem 1rem rgba($black, .15) !default; $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; $component-active-color: $white !default; $component-active-bg: theme-color("primary") !default; $caret-width: .3em !default; $caret-vertical-align: $caret-width * .85 !default; $caret-spacing: $caret-width * .85 !default; $transition-base: all .2s ease-in-out !default; $transition-fade: opacity .15s linear !default; $transition-collapse: height .35s ease !default; $embed-responsive-aspect-ratios: () !default; // stylelint-disable-next-line scss/dollar-variable-default $embed-responsive-aspect-ratios: join( ( (21 9), (16 9), (4 3), (1 1), ), $embed-responsive-aspect-ratios ); // Typography // // Font, line-height, and color for body text, headings, and more. // stylelint-disable value-keyword-case $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $font-family-base: $font-family-sans-serif !default; // stylelint-enable value-keyword-case $font-size-base: 1rem !default; // Assumes the browser default, typically `16px` $font-size-lg: $font-size-base * 1.25 !default; $font-size-sm: $font-size-base * .875 !default; $font-weight-lighter: lighter !default; $font-weight-light: 300 !default; $font-weight-normal: 400 !default; $font-weight-bold: 700 !default; $font-weight-bolder: bolder !default; $font-weight-base: $font-weight-normal !default; $line-height-base: 1.5 !default; $h1-font-size: $font-size-base * 2.5 !default; $h2-font-size: $font-size-base * 2 !default; $h3-font-size: $font-size-base * 1.75 !default; $h4-font-size: $font-size-base * 1.5 !default; $h5-font-size: $font-size-base * 1.25 !default; $h6-font-size: $font-size-base !default; $headings-margin-bottom: $spacer / 2 !default; $headings-font-family: null !default; $headings-font-weight: 500 !default; $headings-line-height: 1.2 !default; $headings-color: null !default; $display1-size: 6rem !default; $display2-size: 5.5rem !default; $display3-size: 4.5rem !default; $display4-size: 3.5rem !default; $display1-weight: 300 !default; $display2-weight: 300 !default; $display3-weight: 300 !default; $display4-weight: 300 !default; $display-line-height: $headings-line-height !default; $lead-font-size: $font-size-base * 1.25 !default; $lead-font-weight: 300 !default; $small-font-size: 80% !default; $text-muted: $gray-600 !default; $blockquote-small-color: $gray-600 !default; $blockquote-small-font-size: $small-font-size !default; $blockquote-font-size: $font-size-base * 1.25 !default; $hr-border-color: rgba($black, .1) !default; $hr-border-width: $border-width !default; $mark-padding: .2em !default; $dt-font-weight: $font-weight-bold !default; $kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default; $nested-kbd-font-weight: $font-weight-bold !default; $list-inline-padding: .5rem !default; $mark-bg: #fcf8e3 !default; $hr-margin-y: $spacer !default; // Tables // // Customizes the `.table` component with basic values, each used across all table variations. $table-cell-padding: .75rem !default; $table-cell-padding-sm: .3rem !default; $table-color: $body-color !default; $table-bg: null !default; $table-accent-bg: rgba($black, .05) !default; $table-hover-color: $table-color !default; $table-hover-bg: rgba($black, .075) !default; $table-active-bg: $table-hover-bg !default; $table-border-width: $border-width !default; $table-border-color: $border-color !default; $table-head-bg: $gray-200 !default; $table-head-color: $gray-700 !default; $table-dark-color: $white !default; $table-dark-bg: $gray-800 !default; $table-dark-accent-bg: rgba($white, .05) !default; $table-dark-hover-color: $table-dark-color !default; $table-dark-hover-bg: rgba($white, .075) !default; $table-dark-border-color: lighten($table-dark-bg, 7.5%) !default; $table-dark-color: $white !default; $table-striped-order: odd !default; $table-caption-color: $text-muted !default; $table-bg-level: -9 !default; $table-border-level: -6 !default; // Buttons + Forms // // Shared variables that are reassigned to `$input-` and `$btn-` specific variables. $input-btn-padding-y: .375rem !default; $input-btn-padding-x: .75rem !default; $input-btn-font-family: null !default; $input-btn-font-size: $font-size-base !default; $input-btn-line-height: $line-height-base !default; $input-btn-focus-width: .2rem !default; $input-btn-focus-color: rgba($component-active-bg, .25) !default; $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; $input-btn-padding-y-sm: .25rem !default; $input-btn-padding-x-sm: .5rem !default; $input-btn-font-size-sm: $font-size-sm !default; $input-btn-line-height-sm: $line-height-sm !default; $input-btn-padding-y-lg: .5rem !default; $input-btn-padding-x-lg: 1rem !default; $input-btn-font-size-lg: $font-size-lg !default; $input-btn-line-height-lg: $line-height-lg !default; $input-btn-border-width: $border-width !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y: $input-btn-padding-y !default; $btn-padding-x: $input-btn-padding-x !default; $btn-font-family: $input-btn-font-family !default; $btn-font-size: $input-btn-font-size !default; $btn-line-height: $input-btn-line-height !default; $btn-padding-y-sm: $input-btn-padding-y-sm !default; $btn-padding-x-sm: $input-btn-padding-x-sm !default; $btn-font-size-sm: $input-btn-font-size-sm !default; $btn-line-height-sm: $input-btn-line-height-sm !default; $btn-padding-y-lg: $input-btn-padding-y-lg !default; $btn-padding-x-lg: $input-btn-padding-x-lg !default; $btn-font-size-lg: $input-btn-font-size-lg !default; $btn-line-height-lg: $input-btn-line-height-lg !default; $btn-border-width: $input-btn-border-width !default; $btn-font-weight: $font-weight-normal !default; $btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default; $btn-focus-width: $input-btn-focus-width !default; $btn-focus-box-shadow: $input-btn-focus-box-shadow !default; $btn-disabled-opacity: .65 !default; $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; $btn-link-disabled-color: $gray-600 !default; $btn-block-spacing-y: .5rem !default; // Allows for customizing button radius independently from global border radius $btn-border-radius: $border-radius !default; $btn-border-radius-lg: $border-radius-lg !default; $btn-border-radius-sm: $border-radius-sm !default; $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; // Forms $label-margin-bottom: .5rem !default; $input-padding-y: $input-btn-padding-y !default; $input-padding-x: $input-btn-padding-x !default; $input-font-family: $input-btn-font-family !default; $input-font-size: $input-btn-font-size !default; $input-font-weight: $font-weight-base !default; $input-line-height: $input-btn-line-height !default; $input-padding-y-sm: $input-btn-padding-y-sm !default; $input-padding-x-sm: $input-btn-padding-x-sm !default; $input-font-size-sm: $input-btn-font-size-sm !default; $input-line-height-sm: $input-btn-line-height-sm !default; $input-padding-y-lg: $input-btn-padding-y-lg !default; $input-padding-x-lg: $input-btn-padding-x-lg !default; $input-font-size-lg: $input-btn-font-size-lg !default; $input-line-height-lg: $input-btn-line-height-lg !default; $input-bg: $white !default; $input-disabled-bg: $gray-200 !default; $input-color: $gray-700 !default; $input-border-color: $gray-400 !default; $input-border-width: $input-btn-border-width !default; $input-box-shadow: inset 0 1px 1px rgba($black, .075) !default; $input-border-radius: $border-radius !default; $input-border-radius-lg: $border-radius-lg !default; $input-border-radius-sm: $border-radius-sm !default; $input-focus-bg: $input-bg !default; $input-focus-border-color: lighten($component-active-bg, 25%) !default; $input-focus-color: $input-color !default; $input-focus-width: $input-btn-focus-width !default; $input-focus-box-shadow: $input-btn-focus-box-shadow !default; $input-placeholder-color: $gray-600 !default; $input-plaintext-color: $body-color !default; $input-height-border: $input-border-width * 2 !default; $input-height-inner: calc(#{$input-line-height * 1em}+ #{$input-padding-y * 2}) !default; $input-height-inner-half: calc(#{$input-line-height * .5em}+ #{$input-padding-y}) !default; $input-height-inner-quarter: calc(#{$input-line-height * .25em}+ #{$input-padding-y / 2}) !default; $input-height: calc(#{$input-line-height * 1em}+ #{$input-padding-y * 2}+ #{$input-height-border}) !default; $input-height-sm: calc(#{$input-line-height-sm * 1em}+ #{$input-btn-padding-y-sm * 2}+ #{$input-height-border}) !default; $input-height-lg: calc(#{$input-line-height-lg * 1em}+ #{$input-btn-padding-y-lg * 2}+ #{$input-height-border}) !default; $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $form-text-margin-top: .25rem !default; $form-check-input-gutter: 1.25rem !default; $form-check-input-margin-y: .3rem !default; $form-check-input-margin-x: .25rem !default; $form-check-inline-margin-x: .75rem !default; $form-check-inline-input-margin-x: .3125rem !default; $form-grid-gutter-width: 10px !default; $form-group-margin-bottom: 1rem !default; $input-group-addon-color: $input-color !default; $input-group-addon-bg: $gray-200 !default; $input-group-addon-border-color: $input-border-color !default; $custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $custom-control-gutter: .5rem !default; $custom-control-spacer-x: 1rem !default; $custom-control-indicator-size: 1rem !default; $custom-control-indicator-bg: $input-bg !default; $custom-control-indicator-bg-size: 50% 50% !default; $custom-control-indicator-box-shadow: $input-box-shadow !default; $custom-control-indicator-border-color: $gray-500 !default; $custom-control-indicator-border-width: $input-border-width !default; $custom-control-indicator-disabled-bg: $input-disabled-bg !default; $custom-control-label-disabled-color: $gray-600 !default; $custom-control-indicator-checked-color: $component-active-color !default; $custom-control-indicator-checked-bg: $component-active-bg !default; $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; $custom-control-indicator-checked-box-shadow: none !default; $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default; $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default; $custom-control-indicator-focus-border-color: $input-focus-border-color !default; $custom-control-indicator-active-color: $component-active-color !default; $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default; $custom-control-indicator-active-box-shadow: none !default; $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default; $custom-checkbox-indicator-border-radius: $border-radius !default; $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default; $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default; $custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-checkbox-indicator-indeterminate-box-shadow: none !default; $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default; $custom-radio-indicator-border-radius: 50% !default; $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-switch-width: $custom-control-indicator-size * 1.75 !default; $custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default; $custom-switch-indicator-size: calc(#{$custom-control-indicator-size}- #{$custom-control-indicator-border-width * 4}) !default; $custom-select-padding-y: $input-padding-y !default; $custom-select-padding-x: $input-padding-x !default; $custom-select-font-family: $input-font-family !default; $custom-select-font-size: $input-font-size !default; $custom-select-height: $input-height !default; $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator $custom-select-font-weight: $input-font-weight !default; $custom-select-line-height: $input-line-height !default; $custom-select-color: $input-color !default; $custom-select-disabled-color: $gray-600 !default; $custom-select-bg: $input-bg !default; $custom-select-disabled-bg: $gray-200 !default; $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions $custom-select-indicator-color: $gray-800 !default; $custom-select-indicator: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon) $custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default; $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; $custom-select-border-width: $input-border-width !default; $custom-select-border-color: $input-border-color !default; $custom-select-border-radius: $border-radius !default; $custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default; $custom-select-focus-border-color: $input-focus-border-color !default; $custom-select-focus-width: $input-focus-width !default; $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default; $custom-select-padding-y-sm: $input-padding-y-sm !default; $custom-select-padding-x-sm: $input-padding-x-sm !default; $custom-select-font-size-sm: $input-font-size-sm !default; $custom-select-height-sm: $input-height-sm !default; $custom-select-padding-y-lg: $input-padding-y-lg !default; $custom-select-padding-x-lg: $input-padding-x-lg !default; $custom-select-font-size-lg: $input-font-size-lg !default; $custom-select-height-lg: $input-height-lg !default; $custom-range-track-width: 100% !default; $custom-range-track-height: .5rem !default; $custom-range-track-cursor: pointer !default; $custom-range-track-bg: $gray-300 !default; $custom-range-track-border-radius: 1rem !default; $custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default; $custom-range-thumb-width: 1rem !default; $custom-range-thumb-height: $custom-range-thumb-width !default; $custom-range-thumb-bg: $component-active-bg !default; $custom-range-thumb-border: 0 !default; $custom-range-thumb-border-radius: 1rem !default; $custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; $custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge $custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; $custom-range-thumb-disabled-bg: $gray-500 !default; $custom-file-height: $input-height !default; $custom-file-height-inner: $input-height-inner !default; $custom-file-focus-border-color: $input-focus-border-color !default; $custom-file-focus-box-shadow: $input-focus-box-shadow !default; $custom-file-disabled-bg: $input-disabled-bg !default; $custom-file-padding-y: $input-padding-y !default; $custom-file-padding-x: $input-padding-x !default; $custom-file-line-height: $input-line-height !default; $custom-file-font-family: $input-font-family !default; $custom-file-font-weight: $input-font-weight !default; $custom-file-color: $input-color !default; $custom-file-bg: $input-bg !default; $custom-file-border-width: $input-border-width !default; $custom-file-border-color: $input-border-color !default; $custom-file-border-radius: $input-border-radius !default; $custom-file-box-shadow: $input-box-shadow !default; $custom-file-button-color: $custom-file-color !default; $custom-file-button-bg: $input-group-addon-bg !default; $custom-file-text: ( en: "Browse" ) !default; // Form validation $form-feedback-margin-top: $form-text-margin-top !default; $form-feedback-font-size: $small-font-size !default; $form-feedback-valid-color: theme-color("success") !default; $form-feedback-invalid-color: theme-color("danger") !default; $form-feedback-icon-valid-color: $form-feedback-valid-color !default; $form-feedback-icon-valid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"), "#", "%23") !default; $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; $form-feedback-icon-invalid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"), "#", "%23") !default; $form-validation-states: () !default; // stylelint-disable-next-line scss/dollar-variable-default $form-validation-states: map-merge( ( "valid": ( "color": $form-feedback-valid-color, "icon": $form-feedback-icon-valid ), "invalid": ( "color": $form-feedback-invalid-color, "icon": $form-feedback-icon-invalid ), ), $form-validation-states ); // Z-index master list // // Warning: Avoid customizing these values. They're used for a bird's eye view // of components dependent on the z-axis and are designed to all work together. $zindex-dropdown: 1000 !default; $zindex-sticky: 1020 !default; $zindex-fixed: 1030 !default; $zindex-modal-backdrop: 1040 !default; $zindex-modal: 1050 !default; $zindex-popover: 1060 !default; $zindex-tooltip: 1070 !default; // Navs $nav-link-padding-y: .5rem !default; $nav-link-padding-x: 1rem !default; $nav-link-disabled-color: $gray-600 !default; $nav-tabs-border-color: $gray-300 !default; $nav-tabs-border-width: $border-width !default; $nav-tabs-border-radius: $border-radius !default; $nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; $nav-tabs-link-active-color: $gray-700 !default; $nav-tabs-link-active-bg: $body-bg !default; $nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; $nav-pills-border-radius: $border-radius !default; $nav-pills-link-active-color: $component-active-color !default; $nav-pills-link-active-bg: $component-active-bg !default; $nav-divider-color: $gray-200 !default; $nav-divider-margin-y: $spacer / 2 !default; // Navbar $navbar-padding-y: $spacer / 2 !default; $navbar-padding-x: $spacer !default; $navbar-nav-link-padding-x: .5rem !default; $navbar-brand-font-size: $font-size-lg !default; // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; $navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default; $navbar-toggler-padding-y: .25rem !default; $navbar-toggler-padding-x: .75rem !default; $navbar-toggler-font-size: $font-size-lg !default; $navbar-toggler-border-radius: $btn-border-radius !default; $navbar-dark-color: rgba($white, .5) !default; $navbar-dark-hover-color: rgba($white, .75) !default; $navbar-dark-active-color: $white !default; $navbar-dark-disabled-color: rgba($white, .25) !default; $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-dark-toggler-border-color: rgba($white, .1) !default; $navbar-light-color: rgba($black, .5) !default; $navbar-light-hover-color: rgba($black, .7) !default; $navbar-light-active-color: rgba($black, .9) !default; $navbar-light-disabled-color: rgba($black, .3) !default; $navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-light-toggler-border-color: rgba($black, .1) !default; $navbar-light-brand-color: $navbar-light-active-color !default; $navbar-light-brand-hover-color: $navbar-light-active-color !default; $navbar-dark-brand-color: $navbar-dark-active-color !default; $navbar-dark-brand-hover-color: $navbar-dark-active-color !default; // Dropdowns // // Dropdown menu container and contents. $dropdown-min-width: 10rem !default; $dropdown-padding-y: .5rem !default; $dropdown-spacer: .125rem !default; $dropdown-font-size: $font-size-base !default; $dropdown-color: $body-color !default; $dropdown-bg: $white !default; $dropdown-border-color: rgba($black, .15) !default; $dropdown-border-radius: $border-radius !default; $dropdown-border-width: $border-width !default; $dropdown-inner-border-radius: calc(#{$dropdown-border-radius}- #{$dropdown-border-width}) !default; $dropdown-divider-bg: $gray-200 !default; $dropdown-divider-margin-y: $nav-divider-margin-y !default; $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default; $dropdown-link-color: $gray-900 !default; $dropdown-link-hover-color: darken($gray-900, 5%) !default; $dropdown-link-hover-bg: $gray-100 !default; $dropdown-link-active-color: $component-active-color !default; $dropdown-link-active-bg: $component-active-bg !default; $dropdown-link-disabled-color: $gray-600 !default; $dropdown-item-padding-y: .25rem !default; $dropdown-item-padding-x: 1.5rem !default; $dropdown-header-color: $gray-600 !default; // Pagination $pagination-padding-y: .5rem !default; $pagination-padding-x: .75rem !default; $pagination-padding-y-sm: .25rem !default; $pagination-padding-x-sm: .5rem !default; $pagination-padding-y-lg: .75rem !default; $pagination-padding-x-lg: 1.5rem !default; $pagination-line-height: 1.25 !default; $pagination-color: $link-color !default; $pagination-bg: $white !default; $pagination-border-width: $border-width !default; $pagination-border-color: $gray-300 !default; $pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; $pagination-focus-outline: 0 !default; $pagination-hover-color: $link-hover-color !default; $pagination-hover-bg: $gray-200 !default; $pagination-hover-border-color: $gray-300 !default; $pagination-active-color: $component-active-color !default; $pagination-active-bg: $component-active-bg !default; $pagination-active-border-color: $pagination-active-bg !default; $pagination-disabled-color: $gray-600 !default; $pagination-disabled-bg: $white !default; $pagination-disabled-border-color: $gray-300 !default; // Jumbotron $jumbotron-padding: 2rem !default; $jumbotron-color: null !default; $jumbotron-bg: $gray-200 !default; // Cards $card-spacer-y: .75rem !default; $card-spacer-x: 1.25rem !default; $card-border-width: $border-width !default; $card-border-radius: $border-radius !default; $card-border-color: rgba($black, .125) !default; $card-inner-border-radius: calc(#{$card-border-radius}- #{$card-border-width}) !default; $card-cap-bg: rgba($black, .03) !default; $card-cap-color: null !default; $card-color: null !default; $card-bg: $white !default; $card-img-overlay-padding: 1.25rem !default; $card-group-margin: $grid-gutter-width / 2 !default; $card-deck-margin: $card-group-margin !default; $card-columns-count: 3 !default; $card-columns-gap: 1.25rem !default; $card-columns-margin: $card-spacer-y !default; // Tooltips $tooltip-font-size: $font-size-sm !default; $tooltip-max-width: 200px !default; $tooltip-color: $white !default; $tooltip-bg: $black !default; $tooltip-border-radius: $border-radius !default; $tooltip-opacity: .9 !default; $tooltip-padding-y: .25rem !default; $tooltip-padding-x: .5rem !default; $tooltip-margin: 0 !default; $tooltip-arrow-width: .8rem !default; $tooltip-arrow-height: .4rem !default; $tooltip-arrow-color: $tooltip-bg !default; // Form tooltips must come after regular tooltips $form-feedback-tooltip-padding-y: $tooltip-padding-y !default; $form-feedback-tooltip-padding-x: $tooltip-padding-x !default; $form-feedback-tooltip-font-size: $tooltip-font-size !default; $form-feedback-tooltip-line-height: $line-height-base !default; $form-feedback-tooltip-opacity: $tooltip-opacity !default; $form-feedback-tooltip-border-radius: $tooltip-border-radius !default; // Popovers $popover-font-size: $font-size-sm !default; $popover-bg: $white !default; $popover-max-width: 276px !default; $popover-border-width: $border-width !default; $popover-border-color: rgba($black, .2) !default; $popover-border-radius: $border-radius-lg !default; $popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default; $popover-header-bg: darken($popover-bg, 3%) !default; $popover-header-color: $headings-color !default; $popover-header-padding-y: .5rem !default; $popover-header-padding-x: .75rem !default; $popover-body-color: $body-color !default; $popover-body-padding-y: $popover-header-padding-y !default; $popover-body-padding-x: $popover-header-padding-x !default; $popover-arrow-width: 1rem !default; $popover-arrow-height: .5rem !default; $popover-arrow-color: $popover-bg !default; $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; // Toasts $toast-max-width: 350px !default; $toast-padding-x: .75rem !default; $toast-padding-y: .25rem !default; $toast-font-size: .875rem !default; $toast-color: null !default; $toast-background-color: rgba($white, .85) !default; $toast-border-width: 1px !default; $toast-border-color: rgba(0, 0, 0, .1) !default; $toast-border-radius: .25rem !default; $toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default; $toast-header-color: $gray-600 !default; $toast-header-background-color: rgba($white, .85) !default; $toast-header-border-color: rgba(0, 0, 0, .05) !default; // Badges $badge-font-size: 75% !default; $badge-font-weight: $font-weight-bold !default; $badge-padding-y: .25em !default; $badge-padding-x: .4em !default; $badge-border-radius: $border-radius !default; $badge-transition: $btn-transition !default; $badge-focus-width: $input-btn-focus-width !default; $badge-pill-padding-x: .6em !default; // Use a higher than normal value to ensure completely rounded edges when // customizing padding or font-size on labels. $badge-pill-border-radius: 10rem !default; // Modals // Padding applied to the modal body $modal-inner-padding: 1rem !default; $modal-dialog-margin: .5rem !default; $modal-dialog-margin-y-sm-up: 1.75rem !default; $modal-title-line-height: $line-height-base !default; $modal-content-color: null !default; $modal-content-bg: $white !default; $modal-content-border-color: rgba($black, .2) !default; $modal-content-border-width: $border-width !default; $modal-content-border-radius: $border-radius-lg !default; $modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default; $modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default; $modal-backdrop-bg: $black !default; $modal-backdrop-opacity: .5 !default; $modal-header-border-color: $border-color !default; $modal-footer-border-color: $modal-header-border-color !default; $modal-header-border-width: $modal-content-border-width !default; $modal-footer-border-width: $modal-header-border-width !default; $modal-header-padding-y: 1rem !default; $modal-header-padding-x: 1rem !default; $modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility $modal-xl: 1140px !default; $modal-lg: 800px !default; $modal-md: 500px !default; $modal-sm: 300px !default; $modal-fade-transform: translate(0, -50px) !default; $modal-show-transform: none !default; $modal-transition: transform .3s ease-out !default; // Alerts // // Define alert colors, border radius, and padding. $alert-padding-y: .75rem !default; $alert-padding-x: 1.25rem !default; $alert-margin-bottom: 1rem !default; $alert-border-radius: $border-radius !default; $alert-link-font-weight: $font-weight-bold !default; $alert-border-width: $border-width !default; $alert-bg-level: -10 !default; $alert-border-level: -9 !default; $alert-color-level: 6 !default; // Progress bars $progress-height: 1rem !default; $progress-font-size: $font-size-base * .75 !default; $progress-bg: $gray-200 !default; $progress-border-radius: $border-radius !default; $progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default; $progress-bar-color: $white !default; $progress-bar-bg: theme-color("primary") !default; $progress-bar-animation-timing: 1s linear infinite !default; $progress-bar-transition: width .6s ease !default; // List group $list-group-color: null !default; $list-group-bg: $white !default; $list-group-border-color: rgba($black, .125) !default; $list-group-border-width: $border-width !default; $list-group-border-radius: $border-radius !default; $list-group-item-padding-y: .75rem !default; $list-group-item-padding-x: 1.25rem !default; $list-group-hover-bg: $gray-100 !default; $list-group-active-color: $component-active-color !default; $list-group-active-bg: $component-active-bg !default; $list-group-active-border-color: $list-group-active-bg !default; $list-group-disabled-color: $gray-600 !default; $list-group-disabled-bg: $list-group-bg !default; $list-group-action-color: $gray-700 !default; $list-group-action-hover-color: $list-group-action-color !default; $list-group-action-active-color: $body-color !default; $list-group-action-active-bg: $gray-200 !default; // Image thumbnails $thumbnail-padding: .25rem !default; $thumbnail-bg: $body-bg !default; $thumbnail-border-width: $border-width !default; $thumbnail-border-color: $gray-300 !default; $thumbnail-border-radius: $border-radius !default; $thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default; // Figures $figure-caption-font-size: 90% !default; $figure-caption-color: $gray-600 !default; // Breadcrumbs $breadcrumb-padding-y: .75rem !default; $breadcrumb-padding-x: 1rem !default; $breadcrumb-item-padding: .5rem !default; $breadcrumb-margin-bottom: 1rem !default; $breadcrumb-bg: $gray-200 !default; $breadcrumb-divider-color: $gray-600 !default; $breadcrumb-active-color: $gray-600 !default; $breadcrumb-divider: quote("/") !default; $breadcrumb-border-radius: $border-radius !default; // Carousel $carousel-control-color: $white !default; $carousel-control-width: 15% !default; $carousel-control-opacity: .5 !default; $carousel-control-hover-opacity: .9 !default; $carousel-control-transition: opacity .15s ease !default; $carousel-indicator-width: 30px !default; $carousel-indicator-height: 3px !default; $carousel-indicator-hit-area-height: 10px !default; $carousel-indicator-spacer: 3px !default; $carousel-indicator-active-bg: $white !default; $carousel-indicator-transition: opacity .6s ease !default; $carousel-caption-width: 70% !default; $carousel-caption-color: $white !default; $carousel-control-icon-width: 20px !default; $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"), "#", "%23") !default; $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"), "#", "%23") !default; $carousel-transition-duration: .6s !default; $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) // Spinners $spinner-width: 2rem !default; $spinner-height: $spinner-width !default; $spinner-border-width: .25em !default; $spinner-width-sm: 1rem !default; $spinner-height-sm: $spinner-width-sm !default; $spinner-border-width-sm: .2em !default; // Close $close-font-size: $font-size-base * 1.5 !default; $close-font-weight: $font-weight-bold !default; $close-color: $black !default; $close-text-shadow: 0 1px 0 $white !default; // Code $code-font-size: 87.5% !default; $code-color: $pink !default; $kbd-padding-y: .2rem !default; $kbd-padding-x: .4rem !default; $kbd-font-size: $code-font-size !default; $kbd-color: $white !default; $kbd-bg: $gray-900 !default; $pre-color: $gray-900 !default; $pre-scrollable-max-height: 340px !default; // Utilities $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default; $overflows: auto, hidden !default; $positions: static, relative, absolute, fixed, sticky !default; // Printing $print-page-size: a3 !default; $print-body-min-width: map-get($grid-breakpoints, "lg") !default; 

/* /web/static/src/scss/import_bootstrap.scss defined in bundle 'web.assets_frontend' */
 // This file is importing bootstrap. While a simple "import "bootstrap";" // should be enough, this does not allow overridding mixins/functions. // Overridding those is necessary for some of our need and allow to generate // more efficient CSS than adding more rules. This file instead copies the // content of the "bootstrap.scss" files but do not import functions, variables // and mixins which will be handled "by hand" in _assets_helpers. //  //  //          // Small hack in bootstrap (see bootstrap_review.scss): prevent it to generate // primary, secondary, and other color/outline classes by itself to be able to // do it ourself properly. $-tmp: $theme-colors; $theme-colors: ();  $theme-colors: $-tmp;                          

/* /web/static/src/scss/bootstrap_review.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the CSS rules made to fix/extend bootstrap in all places /// where it is used in Odoo (backend / frontend / reports / ...) /// .alert{// Alerts are block elements with relative positioning. // They would go over floating elements, which is never what we want. clear: both;}// Extend bootstrap to create background and text utilities for gray colors too // Note: the card-body rule below needs those grays utilities to be defined // before so that the related o-bg-color text-muted rules work. @each $color, $value in $grays{@include bg-variant(".bg-#{$color}", $value); @include text-emphasis-variant(".text-#{$color}", $value);}.card-body{// BS4 colored cards do not have a very popular design. This will reset them // to a BS3-like one: only the header and footer are colored and the body // will use the color of a default card background with a light opacity. // Limitation: bg-* utilities cannot be used on card-body elements anymore. @include o-bg-color(rgba($card-bg, $o-card-body-bg-opacity)); &:first-child{@include border-top-radius($card-inner-border-radius);}&:last-child{@include border-bottom-radius($card-inner-border-radius);}&.row{// The 'row' class should not be used on a 'card-body' element but if // it is done, our custom bg color would overflow the card. As a fix // for those cases (normally only one at the time this fix is made), // remove the background color. // TODO remove me in master. background-color: transparent !important;}}.accordion{.collapsing, .collapse.show{> .card-body:first-child{// Above background color would overflow on the card-header border // without this margin-top: $card-border-width;}}}.toast-header{background-clip: border-box;}.toast-body{// Same as card-body, see explanation above @include o-bg-color(opacify($toast-background-color, 0.08));}// Modify modals so that their scrollable element is the modal-body (except in // mobile). @include media-breakpoint-up(sm){.modal-dialog{height: 100%; padding: $modal-dialog-margin-y-sm-up 0; margin: 0 auto;}.modal-content{max-height: 100%;}.modal-header, .modal-footer{flex: 0 0 auto;}.modal-body{overflow: auto; // fix iOS issue https://github.com/scottjehl/Device-Bugs/issues/8 -webkit-transform: translate3d(0, 0, 0); min-height: 0;}}// Do not display the backdrop element added by bootstrap in the body and add a // background on the modal to keep the same effect. The bootstrap backdrop was // probably useful for compatibility with <IE9 but is no longer needed. This // also avoids z-index issues because modals could be opened in an element // (e.g. the website #wrapwrap) whose stacking context is different of the body // one (where the backdrop is opened). This would make the backdrop appears on // top of the modal. .modal-backdrop{display: none;}.modal:not([data-backdrop="false"]){background-color: rgba($modal-backdrop-bg, $modal-backdrop-opacity);}// Restore pointer cursor which came with the 'btn' class until BS 4.3.1 .btn:not(:disabled):not(.disabled){cursor: pointer;}// Disable RTL for the popover position .popover{right: auto#{""};}// Review input group: BS allows to control button and input dimensions // individually but fails to make input-group correctly in all cases (for some // strange reasons they made it work well for sm and lg but not for the normal // sizing). .input-group-prepend, .input-group-append{> .btn{@include button-size($input-padding-y, $input-padding-x, $input-font-size, $input-line-height, $input-border-radius); border-width: $input-border-width;}}// Review $link-decoration behavior @if $link-decoration and $link-decoration != none{.btn:not(.btn-link), .nav-link, .dropdown-item, .page-link, .breadcrumb-item > a, .badge, .fa{&, &:hover, &:focus{text-decoration: none;}}}// Generating bootstrap color buttons was disabled (see import_bootstrap.scss). // We do it ourself here with a tweak: we introduce btn-fill-* (working as the // normal btn-* classes (in opposition to btn-outline-* classes). We then map // the btn-* classes to either btn-fill-* or btn-outline-* classes depending on // the configuration. We also allow to define a border-color different than the // background color. $o-btn-bg-colors: () !default; $o-btn-border-colors: () !default; @each $color, $value in $theme-colors{$-bg-color: map-get($o-btn-bg-colors, $color) or $value; $-border-color: map-get($o-btn-border-colors, $color) or $-bg-color; .btn-fill-#{$color}{@include button-variant($-bg-color, $-border-color);}}@each $color, $value in $theme-colors{$-bg-color: map-get($o-btn-bg-colors, $color) or $value; $-border-color: map-get($o-btn-border-colors, $color) or $-bg-color; .btn-outline-#{$color}{@include button-outline-variant($-border-color);}}$o-btn-outline-defaults: () !default; @each $color, $value in $theme-colors{.btn-#{$color}{@if index($o-btn-outline-defaults, $color){@extend .btn-outline-#{$color};}@else{@extend .btn-fill-#{$color};}}}// Compensate navbar brand padding if no visible border @if alpha($navbar-dark-toggler-border-color) < 0.001{.navbar-dark .navbar-toggler{padding-left: 0; padding-right: 0;}}@if alpha($navbar-light-toggler-border-color) < 0.001{.navbar-light .navbar-toggler{padding-left: 0; padding-right: 0;}}// Review bootstrap navbar to work with different nav styles $o-navbar-nav-pills-link-padding-x: $nav-link-padding-x !default; $o-navbar-nav-pills-link-border-radius: $nav-pills-border-radius !default; .navbar-nav.nav-pills .nav-link{// The rules is needed so that the padding is not reset to 0 in mobile. // Also use default nav-link paddings instead of navbar ones. padding-right: $o-navbar-nav-pills-link-padding-x; padding-left: $o-navbar-nav-pills-link-padding-x; @if $o-navbar-nav-pills-link-border-radius != $nav-pills-border-radius{@include border-radius($o-navbar-nav-pills-link-border-radius);}}.carousel-control-next .sr-only{left: 50%; // Avoid horizontal scrollbar in Chrome}

/* /web/static/src/scss/base_frontend.scss defined in bundle 'web.assets_frontend' */
// Frontend general html, body, #wrapwrap{width: 100%; height: 100%; overflow: hidden;}#wrapwrap{// The z-index is useful to prevent that children with a negative z-index // go behind the wrapwrap (we create a new stacking context). z-index: 0; position: relative; display: flex; flex-flow: column nowrap; // ... we delegate the scroll to that top element instead of the window/body // This is at least needed for the edit mode to not have a double scrollbar // due to the right editor panel (and since we want to minimize the style // difference between edit mode and non-edit mode (wysiwyg)...). overflow: auto; > *{flex: 0 0 auto;}> main{flex: 1 0 auto;}}.modal-open #wrapwrap{overflow: hidden;}

/* /web/static/src/scss/lazyloader.scss defined in bundle 'web.assets_frontend' */
 // Disable buttons and links marked with the o_wait_lazy_js class or in a // section which is marked with the o_wait_lazy_js class. a[href], button, input[type="submit"], input[type="button"], .btn{&.o_wait_lazy_js, .o_wait_lazy_js &{pointer-events: none;}}

/* /web/static/src/scss/navbar_mobile.scss defined in bundle 'web.assets_frontend' */
 .o_main_navbar{.o_app{@include media-breakpoint-down(sm){float: none; margin: 0; border-bottom: 1px solid $o-navbar-inverse-link-hover-bg; color: transparent !important;}}> .o_menu_brand{@include media-breakpoint-down(sm){float: none; margin: 0; border-bottom: 1px solid $o-navbar-inverse-link-hover-bg; color: transparent !important;}}@include media-breakpoint-down(sm){transition: height 200ms linear 0s; position: relative; height: $o-navbar-height; > ul{> li{float: none; .dropdown-backdrop{display: none;}.dropdown-menu.show{max-height: none;}}&.o_menu_sections{width: 100%; display: none; .dropdown-menu.show{position: static; float: none; background-color: transparent; box-shadow: none; border: none; overflow: visible; > .dropdown-item{background-color: transparent; color: inherit;}}}&.o_menu_systray{@include o-position-absolute(0px, $o-navbar-height, auto, $o-navbar-height); height: $o-navbar-height; text-align: right; > li{display: inline-block; .dropdown-menu.show{@include o-position-absolute($o-navbar-height, 0, 0, 0); position: fixed; width: auto;}}.o_user_menu .oe_topbar_name{display: none;}}}}}@include media-breakpoint-down(sm){body.o_mobile_menu_opened > .o_main_navbar{height: 100%; overflow: auto; .o_menu_sections{display: block;}}}@include media-breakpoint-down(sm){.o_switch_company_menu > .dropdown-menu{padding-top: 0px; .bg-info{padding: 10px;}}}

/* /web/static/src/scss/notification.scss defined in bundle 'web.assets_frontend' */
 .o_notification_manager{@include o-position-absolute(3.5rem, 0); position: fixed; z-index: ($zindex-modal + $zindex-popover) / 2; width: $toast-max-width; margin-right: 8px; max-width: 100%; .toast:not(:last-child){margin-bottom: 5px;}.o_notification{width: 100%; .toast-body{padding: 8px 10px; .o_notification_close{height: 20px; margin-left: 1rem;}}}}

/* /web_editor/static/src/scss/web_editor.common.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups basic style rules for web_editor enable page edition and backend utils. /// :root{@each $color, $value in $grays{@include print-variable($color, $value);}// Most of the keys of the color combination color should be null. We have // to indicate their fallback values. @for $index from 1 through length($o-color-combinations){$-bg-color: o-color(color('o-cc#{$index}-bg')); $-text: color('o-cc#{$index}-text') or color-yiq(o-color('o-cc#{$index}-bg')); $-headings: color('o-cc#{$index}-headings') or $-text; $-h2: color('o-cc#{$index}-h2') or $-headings; $-h3: color('o-cc#{$index}-h3') or $-h2; $-h4: color('o-cc#{$index}-h4') or $-h3; $-h5: color('o-cc#{$index}-h5') or $-h4; $-h6: color('o-cc#{$index}-h6') or $-h5; @if not color('o-cc#{$index}-text'){@include print-variable('o-cc#{$index}-text', $-text);}@if not color('o-cc#{$index}-headings'){@include print-variable('o-cc#{$index}-headings', $-headings);}@if not color('o-cc#{$index}-h2'){@include print-variable('o-cc#{$index}-h2', $-h2);}@if not color('o-cc#{$index}-h3'){@include print-variable('o-cc#{$index}-h3', $-h3);}@if not color('o-cc#{$index}-h4'){@include print-variable('o-cc#{$index}-h4', $-h4);}@if not color('o-cc#{$index}-h5'){@include print-variable('o-cc#{$index}-h5', $-h5);}@if not color('o-cc#{$index}-h6'){@include print-variable('o-cc#{$index}-h6', $-h6);}$-link: color('o-cc#{$index}-link'); $-link-color: if($-link, o-color($-link), theme-color('primary')); @include print-variable('o-cc#{$index}-link', auto-contrast($-link-color, $-bg-color, 'o-cc#{$index}-link')); $-btn-primary: color('o-cc#{$index}-btn-primary'); @if not $-btn-primary{@include print-variable('o-cc#{$index}-btn-primary', theme-color('primary'));}@if not color('o-cc#{$index}-btn-primary-border'){@include print-variable('o-cc#{$index}-btn-primary-border', $-btn-primary or theme-color('primary'));}$-btn-secondary: color('o-cc#{$index}-btn-secondary'); @if not $-btn-secondary{@include print-variable('o-cc#{$index}-btn-secondary', theme-color('secondary'));}@if not color('o-cc#{$index}-btn-secondary-border'){@include print-variable('o-cc#{$index}-btn-secondary-border', $-btn-secondary or theme-color('secondary'));}}@include print-variable('o-grid-gutter-width', $grid-gutter-width); @include print-variable('o-md-container-max-width', map-get($container-max-widths, md));}html, body{position: relative; width: 100%; height: 100%;}.css_non_editable_mode_hidden{display: none !important;}.editor_enable .css_editable_mode_hidden{display: none !important;}.note-toolbar{margin-left: 0 !important;}.note-popover .popover > .arrow{display: none;}.note-popover .popover, .note-editor{.dropdown-menu .dropdown-item{> i{visibility: hidden;}&.checked > i{visibility: visible;}}}#wrapwrap, .o_editable{// Only style editor-made tables (shop/portal/... tables are not supposed to // use table-bordered...) table.table.table-bordered{table-layout: fixed; td{min-width: 20px;}}@include media-breakpoint-down(sm){.table-responsive > table.table{table-layout: auto;}}}// List ul.o_checklist{list-style: none; >li{position: relative; margin-left: $o-checklist-margin-left; &::before{content: ''; position: absolute; left: - $o-checklist-margin-left; display: block; height: $o-checklist-before-size; width: $o-checklist-before-size; margin-top: 4px; border: 1px solid; text-align: center; cursor: pointer;}&.o_checked{text-decoration: line-through; &::after{content: "✓"; position: absolute; left: - ($o-checklist-margin-left - $o-checklist-checkmark-width); top: +1px;}}}}ol > li.o_indent, ul > li.o_indent{margin-left: 0; list-style: none; &::before{content: none;}}// Medias img.o_we_custom_image{// Images added with the editor are .img-fluid by default but should // still behave like inline content. display: inline-block;}img.shadow{box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);}img.padding-small, .img.padding-small, span.fa.padding-small, iframe.padding-small{padding: 4px;}img.padding-medium, .img.padding-medium, span.fa.padding-medium, iframe.padding-medium{padding: 8px;}img.padding-large, .img.padding-large, span.fa.padding-large, iframe.padding-large{padding: 16px;}img.padding-xl, .img.padding-xl, span.fa.padding-xl, iframe.padding-xl{padding: 32px;}img.ml-auto, img.mx-auto{display: block;}.fa-6x{font-size: 6em;}.fa-7x{font-size: 7em;}.fa-8x{font-size: 8em;}.fa-9x{font-size: 9em;}.fa-10x{font-size: 10em;}.fa.mx-auto{display: block; text-align: center;}div.media_iframe_video{margin: 0 auto; text-align: center; position: relative; overflow: hidden; min-width: 100px; iframe{width: 100%; height: 100%; @include o-position-absolute($top: 0); margin: 0 auto; margin-left: -50%;}&.padding-small iframe{padding: 4px;}&.padding-medium iframe{padding: 8px;}&.padding-large iframe{padding: 16px;}&.padding-xl iframe{padding: 32px;}.media_iframe_video_size{padding-bottom: 66.5%; position: relative; width: 100%; height: 0;}.css_editable_mode_display{@include o-position-absolute(0,0,0,0); width: 100%; height: 100%; display: none; z-index: 2;}}html[data-browser^="msie"] div.media_iframe_video iframe{margin-left: 0;}// Fields address{.fa.fa-mobile-phone{margin: 0 3px 0 2px;}.fa.fa-file-text-o{margin-right: 1px;}}span[data-oe-type="monetary"]{white-space: nowrap;}// Menus // TODO should not be here but used by web_studio so must stay here for now ul.oe_menu_editor{.oe_menu_placeholder{outline: 1px dashed #4183C4;}ul{list-style: none;}li div{cursor: move;}}// Generate all spacings for all sizes @mixin o-spacing-all($factor: 1){// Generate vertical margin/padding classes used by the editor @for $i from 0 through (256 / 8){@include o-vspacing($i * 8, $factor);}@include o-vspacing(4, $factor); // 92px vertical margin is kept for compatibility @include o-vmargins(92, $factor); // Some horizontal margin classes defined for convenience // (and compatibility) @include o-hmargins(0, $factor); @include o-hmargins(4, $factor); @include o-hmargins(8, $factor); @include o-hmargins(16, $factor); @include o-hmargins(32, $factor); @include o-hmargins(64, $factor);}// Generate all spacings for one size, scalled by a given factor // (0 <= factor <= 1) @mixin o-vspacing($name, $factor: 1){@include o-vmargins($name, $factor); @include o-vpaddings($name, $factor);}@mixin o-vmargins($name, $factor: 1){@include o-vmargins-define($name, $factor * $name);}@mixin o-vpaddings($name, $factor: 1){@include o-vpaddings-define($name, $factor * $name);}@mixin o-hspacing($name, $factor: 1){@include o-hmargins($name, $factor); @include o-hpaddings($name, $factor);}@mixin o-hmargins($name, $factor: 1){@include o-hmargins-define($name, $factor * $name);}@mixin o-hpaddings($name, $factor: 1){@include o-hpaddings-define($name, $factor * $name);}// Generate all spacings for one size, given the name of the spacing and // intended size @mixin o-vmargins-define($name, $size: $name){.mt#{$name}{margin-top: $size * 1px !important;}.mb#{$name}{margin-bottom: $size * 1px !important;}}@mixin o-vpaddings-define($name, $size: $name){.pt#{$name}{padding-top: $size * 1px !important;}.pb#{$name}{padding-bottom: $size * 1px !important;}}@mixin o-hmargins-define($name, $size: $name){.ml#{$name}{margin-left: $size * 1px !important;}.mr#{$name}{margin-right: $size * 1px !important;}}@mixin o-hpaddings-define($name, $size: $name){.pl#{$name}{padding-left: $size * 1px !important;}.pr#{$name}{padding-right: $size * 1px !important;}}// Generate all margins @include o-spacing-all; // Underline a.o_underline{text-decoration: underline; &:hover{text-decoration: underline;}}// ACE EDITOR .o_ace_view_editor{background: $o-we-ace-color; color: white; display: flex; flex-flow: column nowrap; opacity: 0.97; .o_ace_view_editor_title{flex: 0 0 auto; display: flex; align-items: center; padding: $grid-gutter-width/4; >.o_ace_type_switcher>button::after{@include o-caret-down; margin-left: 4px;}>*{flex: 0 0 auto; margin: 0 $grid-gutter-width/4; &.o_include_option{display: flex; align-items: center; font-size: 11px; >.custom-control{margin-right: $grid-gutter-width/4;}}&.o_res_list{flex: 1 1 auto; min-width: 60px;}}}#ace-view-id{flex: 0 0 auto; padding: $grid-gutter-width/4 $grid-gutter-width/2; background-color: lighten($o-we-ace-color, 10%); .o_ace_editor_resource_info{color: #ebecee;}}#ace-view-editor{@mixin ace-line-error-mixin{content: ""; z-index: 1000; display: flex; background-color: $o-we-color-danger; color: white; font-size: 1.2em; align-items: center; justify-content: center; cursor: help;}height: 70%; // in case flex is not supported flex: 1 1 auto; .ace_gutter{cursor: ew-resize; .ace_gutter-cell.o_error{position: relative; &::before{@include o-position-absolute(-100vh, 0, -100vh); @include ace-line-error-mixin; width: 2px;}&::after{@include o-position-absolute(-100%, 0, -100%, 0); @include ace-line-error-mixin; font-family: FontAwesome; content: "\f071";}}}.ace_resize_bar{@include o-position-absolute($right: 0); width: 25px; height: 100%; cursor: ew-resize;}}}.o_ace_error_popover{max-width: 40vw; .popover-body{background-color: lighten($o-we-ace-color, 10%); color: #ebecee;}&.bs-popover-left .arrow::after{border-left-color: lighten($o-we-ace-color, 10%);}&.bs-popover-right .arrow::after{border-right-color: lighten($o-we-ace-color, 10%);}code{display: block; max-width: 100%; overflow-x: auto; white-space: pre; color: cyan;}}.ace_editor > .ace_gutter{display: block !important; // display even with aria-hidden}.o_ace_select2_dropdown{width: auto !important; padding-top: 4px; font-family: monospace !important; >.select2-results{max-height: none; max-height: 70vh; .select2-result-label{padding-top: 1px; padding-bottom: 2px; >.o_ace_select2_result{padding: 0; font-size: 12px; white-space: nowrap;}}}}.o_nocontent_help{@include o-nocontent-empty; .o_empty_folder_image:before{@extend %o-nocontent-empty-document;}}.o_we_search_prompt{position: relative; min-height: 250px; width: 100%; display: flex; align-items: center; justify-content: center; & > h2{max-width: 500px; text-align: center;}&::before{content: ""; @include o-position-absolute($top: 0, $right: 50px); width: 100px; height: 150px; opacity: .5; background-image: url('/web_editor/static/src/img/curved_arrow.svg'); background-size: 100%; background-repeat: no-repeat;}}@include media-breakpoint-down(sm){odoo-wysiwyg-container{.panel-heading.note-toolbar{overflow-x: auto;}.btn-group{position: static;}}// modal select media .o_technical_modal.o_web_editor_dialog{// see template 'web_editor.FieldTextHtml.fullscreen' z-index: $o-we-technical-modal-zindex; > .o_select_media_dialog{max-width: inherit !important; z-index: $o-we-technical-modal-zindex; .modal-dialog, .model-content{height: 100%;}.modal-body{.nav .nav-item.search{width: 100%; .btn-group{display: flex; justify-content: space-around; padding: 5px;}}// center pictogram .font-icons-icons{text-align: center;}// fix search image .form-control.o_we_search{height: inherit;}.form-inline{.btn-group{width: 100%; .btn.btn-primary:not(.dropdown-toggle){width: 90%;}}> .input-group.ml-2{margin-left: 0 !important; > .input-group-append{width: 100%; > .btn{width: 100%;}> .ml-2{margin-left: 0 !important;}}}}// attachment cells .o_we_existing_attachments > .row{flex-direction: column; > .o_existing_attachment_cell{flex: initial; max-width: 100%; > .o_existing_attachment_remove{opacity: inherit; top: 10px;}}}// select media dialog unsplash error #editor-media-image .unsplash_img_container .unsplash_error .mx-auto{width: 100%; .form-group{input.w-100{min-width: 100px;}}}}}}}// BS4 blockquote has no style anymore, except bloquote <footer> blockquote{padding: $spacer/2 $spacer; border-left: 5px solid; border-color: gray('300'); font-style: italic;}// Bg/text color classes generation .o_cc{#{$o-color-extras-nesting-selector}{// Re-force dropdown-item colors inside presets otherwise the presets // 'link' colors take over. .dropdown-menu .dropdown-item{// Need to add +1 priority thanks to // .dropdown-menu to counter a:not(.btn) &, h6{// Quick fix: sometimes we use h6 in dropdowns color: $dropdown-link-color !important; @include hover-focus{color: $dropdown-link-hover-color !important;}}&.disabled, &:disabled{&, h6{// Quick fix: sometimes we use h6 in dropdowns color: $dropdown-link-disabled-color !important;}}}.dropdown-menu .dropdown-item-text .text-muted{color: $text-muted !important;}}}@for $index from 1 through length($o-color-combinations){$-bg: color('o-cc#{$index}-bg'); $-text: color('o-cc#{$index}-text'); $-headings: color('o-cc#{$index}-headings'); $-h2: color('o-cc#{$index}-h2'); $-h3: color('o-cc#{$index}-h3'); $-h4: color('o-cc#{$index}-h4'); $-h5: color('o-cc#{$index}-h5'); $-h6: color('o-cc#{$index}-h6'); $-link: color('o-cc#{$index}-link'); $-btn-primary: color('o-cc#{$index}-btn-primary'); $-btn-primary-border: color('o-cc#{$index}-btn-primary-border'); $-btn-secondary: color('o-cc#{$index}-btn-secondary'); $-btn-secondary-border: color('o-cc#{$index}-btn-secondary-border'); // Those color classes color multiple elements when applied on a snippet. // Those rules are not important so that they can be overridden through // bg and text utility classes. ** .o_cc#{$index}{// Background & Text $-bg-color: o-color($-bg); @include o-bg-color($-bg-color, o-color($-text), $important: false, $yiq-min-opacity-threshold: 0); #{$o-color-extras-nesting-selector}{// Headings h1, h2, h3, h4, h5, h6{// 'inherit' comes from the o-bg-color mixin color: o-color($-headings);}h2, h3, h4, h5, h6{color: o-color($-h2);}h3, h4, h5, h6{color: o-color($-h3);}h4, h5, h6{color: o-color($-h4);}h5, h6{color: o-color($-h5);}h6{color: o-color($-h6);}// Links $-link-color: if($-link, o-color($-link), theme-color('primary')); $-link-hover-color: darken($-link-color, 15%); a:not(.btn), .btn-link{color: auto-contrast($-link-color, $-bg-color, 'o-cc#{$index}-link'); @include hover{color: auto-contrast($-link-hover-color, $-bg-color, 'o-cc#{$index}-link');}}// Buttons // Primary $-btn-primary-color: if($-btn-primary, o-color($-btn-primary), theme-color('primary')); $-btn-primary-border-color: if($-btn-primary-border, o-color($-btn-primary-border), $-btn-primary-color); .btn-fill-primary{@include button-variant($-btn-primary-color, $-btn-primary-border-color);}.btn-outline-primary{@include button-outline-variant($-btn-primary-border-color);}// Secondary $-btn-secondary-color: if($-btn-secondary, o-color($-btn-secondary), theme-color('secondary')); $-btn-secondary-border-color: if($-btn-secondary-border, o-color($-btn-secondary-border), $-btn-secondary-color); .btn-fill-secondary{@include button-variant($-btn-secondary-color, $-btn-secondary-border-color);}.btn-outline-secondary{@include button-outline-variant($-btn-secondary-border-color);}// 'Active' states. Note: this only emulates very common components // used in snippets. This might need to be more complex the day we // can apply color combinations anywhere (page-item, ...). .nav-pills{.nav-link.active, .show > .nav-link{background-color: $-btn-primary-color; color: color-yiq($-btn-primary-color);}}.dropdown-menu .dropdown-item{// Need to add +1 priority thanks to // .dropdown-menu (see .o_cc). &.active, &:active{&, h6{// Quick fix: sometimes we use h6 in dropdowns @include gradient-bg($-btn-primary-color); color: color-yiq($-btn-primary-color) !important; @include hover-focus{color: color-yiq($-btn-primary-color) !important;}}}}a.list-group-item{color: $-btn-primary-color; &.active{background-color: $-btn-primary-color; color: color-yiq($-btn-primary-color); border-color: $-btn-primary-color;}}}}}// Extend bootstrap to create background and text utilities for some colors // outside of the $theme-colors too (but not btn-, alert-, etc). @for $index from 1 through 5{$-color-name: 'o-color-#{$index}'; $-color: color($-color-name); @include bg-variant(".bg-#{$-color-name}", $-color); @include text-emphasis-variant(".text-#{$-color-name}", $-color);}// Base snippet rules %o-we-background-layer-parent{&, & > *{// Allow background layers to be placed accordingly and snippet content // to be displayed on top. Note: we cannot just position the layers // with z-index: -1, otherwise it would go under the snippet own // background. Adding a z-index: 0 on the snippet to create its own // stacking context won't solve that either as, in that case, any BS // component inside would be using that stacking context (e.g. a // dropdown inside snippet 1 of the page would go under snippet 2 // when opened since the dropdown z-index would be confined into // snippet 1's stacking context. position: relative;}}%o-we-background-layer{@include o-position-absolute(0, 0, 0, 0); position: absolute !important; display: block; overflow: hidden; background-repeat: no-repeat; pointer-events: none;}section, .oe_img_bg, [data-oe-shape-data]{@extend %o-we-background-layer-parent;}.o_we_bg_filter{@extend %o-we-background-layer;}

/* /web_editor/static/src/scss/web_editor.frontend.scss defined in bundle 'web.assets_frontend' */
@include media-breakpoint-down(sm){img, .media_iframe_video, span.fa, i.fa{transform: none !important;}}.o_wysiwyg_loader{@extend :disabled; pointer-events: none; min-height: 100px; color: transparent;}.o_wysiwyg_loading{@include o-position-absolute($top: 50%, $left: 50%); transform: translate(-50%, -50%)}.ui-autocomplete{max-height: 50vh; overflow-y: auto; overflow-x: hidden; .ui-menu-item{padding: 0; > .ui-state-active{border: none; font-weight: normal; margin: 0;}}}// Background shapes .o_we_shape{@extend %o-we-background-layer; @each $module, $shapes in $o-bg-shapes{@each $shape, $style in $shapes{$url-params: ''; $colors: map-get($style, 'colors'); @each $i in $colors{// %23 is the url-encoded form of '#' which doesn't work as is in urls. $color: str-replace("#{map-get($o-color-palette, "o-color-#{$i}")}", '#', '%23'); $url-params: '#{$url-params}&c#{$i}=#{$color}';}// eg: o_website_shape_bg_1 &.o_#{$module}_#{str-replace($shape, '/', '_')}{// When not customized, this URL, built in SCSS, allows for the // shape to be dynamic and adapted if future color changes. background-image: url("/web_editor/shape/#{$module}/#{$shape}.svg?#{str-slice($url-params, 2)}"); background-position: map-get($style, 'position'); background-size: map-get($style, 'size'); @if map-get($style, 'repeat-y'){background-repeat: repeat-y;}}}}}@include media-breakpoint-down(sm){.o_we_shape{display: none;}}.o_we_flip_x{transform: scaleX(-1);}.o_we_flip_y{transform: scaleY(-1);}.o_we_flip_x.o_we_flip_y{transform: scale(-1);}

/* /portal/static/src/scss/bootstrap.extend.scss defined in bundle 'web.assets_frontend' */
@each $breakpoint in map-keys($grid-breakpoints){@include media-breakpoint-up($breakpoint){$infix: breakpoint-infix($breakpoint, $grid-breakpoints); @if $infix != ''{// Standard ones are already created by bootstrap @each $prop, $abbrev in (width: w, height: h){@each $size, $length in $sizes{.#{$abbrev}#{$infix}-#{$size}{#{$prop}: $length !important;}}}}}}

/* /portal/static/src/scss/portal.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the frontend general design rules and portal design /// rules. /// // ====== Variables ========= $o-theme-navbar-logo-height: $nav-link-height !default; $o-theme-navbar-fixed-logo-height: $nav-link-height !default; // Portal toolbar (filters, search bar) $o-portal-mobile-toolbar: true; // Enable/Disable custom design $o-portal-mobile-toolbar-border: $border-color; $o-portal-mobile-toolbar-bg: $gray-200; // Portal Tables $o-portal-table-th-pt: map-get($spacers, 2) !default; // bts4 pt-2 $o-portal-table-th-pb: map-get($spacers, 2) !default; // bts4 pb-2 $o-portal-table-td-pt: map-get($spacers, 1) !default; // bts4 pt-1 $o-portal-table-td-pb: map-get($spacers, 1) !default; // bts4 pb-1 // Portal custom bg color $o-portal-bg-color: desaturate($gray-200, 100%); // Check if portal uses default colors $o-portal-use-default-colors: $body-bg == $o-portal-default-body-bg; // Frontend general body{// Set frontend direction that will be flipped with // rtlcss for right-to-left text direction. direction: ltr;}header{.navbar-brand{flex: 0 0 auto; max-width: 75%; &.logo{padding-top: 0; padding-bottom: 0; img{// object-fit does not work on IE but is only used as a fallback object-fit: contain; display: block; width: auto; height: $o-theme-navbar-logo-height; @include media-breakpoint-down(sm){max-height: min($o-theme-navbar-logo-height, 5rem);}}}}.nav-link{white-space: nowrap;}}.navbar{margin-bottom: 0; .nav.navbar-nav.float-right{@include media-breakpoint-down(sm){float: none!important;}}}@include media-breakpoint-up(md){.navbar-expand-md ul.nav > li.divider{display: list-item;}}ul.flex-column > li > a{padding: 2px 15px;}// Link without text but an icon a, .btn-link{&.fa:hover{text-decoration: $o-theme-btn-icon-hover-decoration;}}// Odoo options classes .jumbotron{margin-bottom: 0;}// Typography ul{list-style-type: disc;}ul ul{list-style-type: circle;}ul ul ul{list-style-type: square;}ul ul ul ul{list-style-type: disc;}ul ul ul ul ul{list-style-type: circle;}ul ul ul ul ul ul{list-style-type: square;}ul ul ul ul ul ul ul{list-style-type: disc;}ol{list-style-type: decimal;}ol ol{list-style-type: lower-alpha;}ol ol ol{list-style-type: lower-greek;}ol ol ol ol{list-style-type: decimal;}ol ol ol ol ol{list-style-type: lower-alpha;}ol ol ol ol ol ol{list-style-type: lower-greek;}ol ol ol ol ol ol ol{list-style-type: decimal;}li > p{margin: 0;}// Bootstrap hacks %o-double-container-no-padding{padding-right: 0; padding-left: 0;}.container{.container, .container-fluid{@extend %o-double-container-no-padding;}}.container-fluid .container-fluid{@extend %o-double-container-no-padding;}#wrap{.container, .container-fluid{// BS3 used to do this on all containers so that margins and floats are // cleared inside containers. As lots of current odoo layouts may rely // on this for some alignments, this is restored (at least for a while) // here only for main containers of the frontend. &::before, &::after{content: ""; display: table; clear: both;}}}[class^="col-lg-"]{min-height: 24px;}.input-group{flex-flow: row nowrap;}.list-group-item:not([class*="list-group-item-"]):not(.active){color: color-yiq($list-group-bg);}%o-portal-breadcrumbs{background-color: inherit;}// Replaces old BS3 page-header class %o-page-header{margin-bottom: $headings-margin-bottom * 2; padding-bottom: $headings-margin-bottom; border-bottom-width: $border-width; border-bottom-style: solid; border-bottom-color: $border-color;}.o_page_header{@extend %o-page-header;}// Images spacing img, .media_iframe_video, .o_image{&.float-right{margin-left: $grid-gutter-width / 2;}&.float-left{margin-right: $grid-gutter-width / 2;}}// Others ::-moz-selection{background: rgba(150, 150, 220, 0.3);}::selection{background: rgba(150, 150, 220, 0.3);}.oe_search_box{padding-right: 23px;}// Kept for (up to) saas-12 compatibility .para_large{font-size: 120%;}.jumbotron .para_large p{font-size: 150%;}.readable{font-size: 120%; max-width: 700px; margin-left: auto; margin-right: auto; .container{padding-left: 0; padding-right: 0; width: auto;}}// Background (kept for 8.0 compatibility) (! some are still used by website_blog) .oe_dark{background-color: rgba(200, 200, 200, 0.14);}.oe_black{background-color: rgba(0, 0, 0, 0.9); color: white;}.oe_green{background-color: #169C78; color: white; .text-muted{color: #ddd !important;}}.oe_blue_light{background-color: #41b6ab; color: white; .text-muted{color: #ddd !important;}}.oe_blue{background-color: #34495e; color: white;}.oe_orange{background-color: #f05442; color: white; .text-muted{color: #ddd !important;}}.oe_purple{background-color: #b163a3; color: white; .text-muted{color: #ddd !important;}}.oe_red{background-color: #9C1b31; color: white; .text-muted{color: #ddd !important;}}.oe_none{background-color: #FFFFFF;}.oe_yellow{background-color: #A2A51B;}.oe_green{background-color: #149F2C;}// Portal specific // === Page custom bg === // To be applied to all portal pages if bg-color is white (default). @if ($o-portal-use-default-colors){#wrapwrap.o_portal{@include o-bg-color($o-portal-bg-color, $with-extras: false);}}.o_portal{.breadcrumb{@extend %o-portal-breadcrumbs;}> tbody.o_portal_report_tbody{vertical-align: middle;}}.o_portal_wrap{.o_portal_my_home > .o_page_header > a:hover{text-decoration: none;}.o_portal_navbar{.breadcrumb{padding-left: 0; padding-right: 0; @extend %o-portal-breadcrumbs;}@if ($o-portal-use-default-colors){background-color: white!important;}}.o_portal_my_doc_table{th{padding-top: $o-portal-table-th-pt; padding-bottom: $o-portal-table-th-pb; max-width: 500px;}td{padding-top: $o-portal-table-td-pt; padding-bottom: $o-portal-table-td-pb; max-width: 10rem;}tr:last-child td{padding-bottom: $o-portal-table-td-pb * 1.5;}td, th{vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}}address{span[itemprop="name"]{margin-bottom: 0.3em;}div[itemprop="address"] > div{position: relative; span[itemprop="streetAddress"]{line-height: 1.2; margin-bottom: 0.3em;}.fa{@include o-position-absolute(0, $left: 0); line-height: $line-height-base; + span, + div{display: block; // FontAwesome '.fa-fw' fixed-with + margin padding-left: 1.28571429em + 0.5em;}}}}.o_my_sidebar div[itemprop="address"] > div{margin-top: 0.5em;}@if ($o-portal-mobile-toolbar){#o_portal_navbar_content{@include media-breakpoint-down(md){margin: $navbar-padding-y (-$navbar-padding-x) 0; padding: $navbar-padding-y $navbar-padding-x ; border-top: $border-width solid $o-portal-mobile-toolbar-border; background-color: $o-portal-mobile-toolbar-bg;}}}table.table tr{word-wrap: break-word;}}.oe_attachments .o_image_small{height: 40px; width: 50px; background-repeat: no-repeat;}form label{font-weight: $font-weight-bold; &.label-optional{font-weight: $font-weight-normal;}}.o_portal_contact_img{width: 2.3em; height: 2.3em; object-fit: cover;}.o_portal_sidebar{#sidebar_content.card{border-left: 0; border-bottom: 0; > div.card-body{border-left: $border-width solid $border-color;}> ul > li{border-left: $border-width solid $border-color; margin-bottom: -1px;}> div.card-footer{border-left: $border-width solid $border-color; border-bottom: $border-width solid $border-color;}}.o_portal_html_view{overflow: hidden; background: white; position: relative; .o_portal_html_loader{@include o-position-absolute(45%, 0, auto, 0);}iframe{position: relative;}}}// ------------------------------------------------------------ // Frontend Discuss widget // ------------------------------------------------------------ // Readonly display .o_portal_chatter{padding: 10px; .o_portal_chatter_avatar{width: 45px; height: 45px; margin-right: 1rem;}.o_portal_chatter_header{margin-bottom: 15px;}.o_portal_chatter_composer{margin-bottom: 15px;}.o_portal_chatter_messages{margin-bottom: 15px; overflow-wrap: break-word; word-break: break-word; .o_portal_chatter_message{div.media-body > p:not(.o_portal_chatter_puslished_date):last-of-type{margin-bottom: 5px;}}.o_portal_chatter_message_title{p{font-size:85%; color:$o-main-color-muted; margin: 0px;}}}.o_portal_chatter_pager{text-align: center;}}// Readonly / Composer mix display .o_portal_chatter, .o_portal_chatter_composer{.o_portal_chatter_attachment{.o_portal_chatter_attachment_name{word-wrap: break-word;}.o_portal_chatter_attachment_delete{@include o-position-absolute($top: 0, $right: 0); opacity: 0;}&:hover .o_portal_chatter_attachment_delete{opacity: 1;}}.o_portal_message_internal_off{.btn-danger{display: none;}}.o_portal_message_internal_on{.btn-success{display: none;}}}.o_portal_security_body{@extend .mx-auto; max-width: map-get($container-max-widths, sm); section{@extend .mt-4; form.oe_reset_password_form{max-width: initial; margin: initial;}.form-group{// for the absolutely positioned meter on new password position: relative;}label, button{@extend .text-nowrap;}}}// Copyright .o_footer_copyright{.o_footer_copyright_name{vertical-align: middle;}.js_language_selector{display: inline-block;}@include media-breakpoint-up(md){.row{display: flex; > div{margin: auto 0;}}}}

/* /website/static/src/scss/website.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the website design rules. /// $-seen-urls: (); @each $alias, $key in $o-font-aliases-to-keys{$-url: o-get-font-info($alias, 'url'); @if $-url and index($-seen-urls, $-url) == null{$-seen-urls: append($-seen-urls, $-url); {unquote($-url)}&display=swap");}@else{$-name: o-get-font-info($alias, 'name'); $-attachment: o-get-font-info($alias, 'attachment'); @if $-attachment{{$-attachment}/google-font-#{unquote($-name)}");}}}:root{// The theme customize modal JS will need to know the value of some scss // variables used to render the user website, and those may have been // customized by themes, the user or anything else (so there is no file to // parse to get them). Those will be printed here as CSS variables. @include print-variable('support-13-0-color-system', $o-support-13-0-color-system); @include print-variable('has-customized-13-0-color-system', $o-has-customized-13-0-color-system); // 1) Handle default values @include print-variable('header-font-size', $font-size-base); // 2) The values in the $theme-colors map are already printed by Bootstrap. // 3) The values in the $colors map are also printed by Bootstrap. However, // we have color variables which can contain a reference to a color // combination and that is the info we want in that case. As a stable fix, // we'll leave the original variable untouched but print a prefixed version // of the variable with the correct reference value. // TODO adapt in master @each $key in ('menu', 'header-boxed', 'footer', 'copyright'){$-value: map-get($o-color-palette, $key); @if type-of($-value) == 'number'{@include print-variable('bugfixed-#{$key}', $-value);}}// 4) The Odoo values map, $o-website-values, must be printed. @each $key, $value in $o-website-values{@include print-variable($key, $value);}// 5) Use final value used by the theme @include print-variable('body', $body-bg); @include print-variable('logo-height', $o-theme-navbar-logo-height); @include print-variable('fixed-logo-height', $o-theme-navbar-fixed-logo-height); $-font-names: map-keys($o-theme-font-configs); @include print-variable('number-of-fonts', length($-font-names)); $i: 1; @each $font-name in $-font-names{@include print-variable('font-number-#{$i}', $font-name); $i: $i + 1;}@include print-variable('btn-padding-y', $btn-padding-y); @include print-variable('btn-padding-x', $btn-padding-x); @include print-variable('btn-font-size', $btn-font-size); @include print-variable('btn-padding-y-sm', $btn-padding-y-sm); @include print-variable('btn-padding-x-sm', $btn-padding-x-sm); @include print-variable('btn-font-size-sm', $btn-font-size-sm); @include print-variable('btn-padding-y-lg', $btn-padding-y-lg); @include print-variable('btn-padding-x-lg', $btn-padding-x-lg); @include print-variable('btn-font-size-lg', $btn-font-size-lg); @include print-variable('btn-border-width', $btn-border-width); @include print-variable('btn-border-radius', $btn-border-radius); @include print-variable('btn-border-radius-sm', $btn-border-radius-sm); @include print-variable('btn-border-radius-lg', $btn-border-radius-lg); @include print-variable('input-padding-y', $input-padding-y); @include print-variable('input-padding-x', $input-padding-x); @include print-variable('input-font-size', $input-font-size); @include print-variable('input-padding-y-sm', $input-padding-y-sm); @include print-variable('input-padding-x-sm', $input-padding-x-sm); @include print-variable('input-font-size-sm', $input-font-size-sm); @include print-variable('input-padding-y-lg', $input-padding-y-lg); @include print-variable('input-padding-x-lg', $input-padding-x-lg); @include print-variable('input-font-size-lg', $input-font-size-lg); @include print-variable('input-border-width', $input-border-width); @include print-variable('input-border-radius', $input-border-radius); @include print-variable('input-border-radius-sm', $input-border-radius-sm); @include print-variable('input-border-radius-lg', $input-border-radius-lg); @include print-variable('number-of-color-palettes', length($o-color-palettes) - 1); // -1 since the last one is the user customized one @include print-variable('color-palettes-number', $o-original-color-palette-number); @include print-variable('has-customized-colors', $o-has-customized-colors); // 6) Get list of colorpalette custom colors $custom-colors: (); @each $key, $value in $o-color-palette{$custom-colors: append($custom-colors, $key);}@include print-variable('custom-colors', $custom-colors);}#wrapwrap{@if o-website-value('body-image'){background-image: url("/#{str-slice(o-website-value('body-image'), 2)}"); background-position: center; background-attachment: fixed; @if o-website-value('body-image-type') == 'pattern'{background-size: auto; background-repeat: repeat;}@else{background-size: cover; background-repeat: no-repeat;}}@if o-website-value('layout') != 'full'{> main{background-color: o-color('o-cc1-bg');}@include media-breakpoint-up(sm){padding-right: $grid-gutter-width * 2; padding-left: $grid-gutter-width * 2; > *{// When the website is visually acting like a container (eg. // boxed layout), increase its maximum size to handle bigger // horizontal paddings. $-max-widths: (); @each $key, $value in $container-max-widths{$-max-widths: map-merge($-max-widths, ( #{$key}: $value + $grid-gutter-width * 2, ));}@include make-container(0); @include make-container-max-widths($-max-widths);}> header .container{max-width: 100% !important;}// Vertical alignment when top-menu has visually "no background" @if o-color('menu') == o-color('body'){> header{.navbar, .container{padding-left: 0; padding-right: 0;}}}}@if o-website-value('layout') == 'framed'{@include media-breakpoint-up(md){padding-top: $grid-gutter-width; padding-bottom: $grid-gutter-width * 1.5;}}@else if o-website-value('layout') == 'postcard'{@include media-breakpoint-up(md){$-border-radius: $border-radius-lg; // Don't know why (browser rounding mistake?) but the inner // border radius must be 1px lower for this to be visually ok // (despite the fact there is no border or any space) $-inner-border-radius: $-border-radius - 0.0625rem; > *{margin-bottom: $spacer * 2;}> header{&, &.o_header_affix{.navbar{@include border-bottom-radius($-border-radius);}}}> main, > footer{@include border-radius($-border-radius); .oe_structure > :first-child{@include border-top-radius($-inner-border-radius);}}> main .oe_structure > :last-child, .o_footer_copyright{@include border-bottom-radius($-inner-border-radius);}}}}}body:not(.o_fullscreen){#oe_main_menu_navbar:not(.o_hidden) + #wrapwrap{.o_header_affixed, .modal{// For these elements, in #wrapwrap, position top should be size of // the navbar. top: $o-navbar-height;}.modal{// As the default bootstrap style no longer uses 'bottom: 0' and // added 'height: 100%' since the V4.2 because of a bug on Android. // We have to adapt the height of the modal by removing the height // of the navbar. height: calc(100vh - #{$o-navbar-height});}}}.navbar{.navbar-collapse{min-width: 0; // Allows it to shrink during loading}.nav-item{transition: opacity 1000ms ease 0s;}.btn{// This was a default bootstrap style before but it was removed from // the library at some point. It seems important in the header so that // the header does not flicker during loading. white-space: nowrap;}.o_menu_loading{flex-wrap: nowrap !important; overflow: hidden !important; .nav-item{opacity: 0 !important;}}}.navbar-brand, .navbar-text, .navbar .nav-link{@if $o-theme-navbar-font != $o-theme-font{font-family: $o-theme-navbar-font;}}.navbar-light{// Style only navbar-light which Odoo is only supposed to use in standard // anyway. Automatically mimic navbar-dark if the user's menu color is dark. // Note: this only works because navbar-light is defined before navbar-dark, // we may want to use a safest way when possible. @include o-apply-colors('menu'); @if (color-yiq(o-color('menu')) != $yiq-text-dark){@extend .navbar-dark;}}$-header-nav-link-height: $nav-link-height; @if o-website-value('header-font-size'){$-header-nav-link-height: o-website-value('header-font-size') * $line-height-base + $nav-link-padding-y * 2; header{font-size: o-website-value('header-font-size'); .dropdown-menu, .btn{font-size: inherit;}}}@if $o-theme-navbar-logo-height{// With default values, this makes it slightly bigger than standard // navbar-brand, which is what we want header .navbar-brand{font-size: $o-theme-navbar-logo-height / $line-height-base; $-logo-padding-y: max(0, $-header-nav-link-height - $o-theme-navbar-logo-height) / 2; &, &.logo{padding-top: $-logo-padding-y; padding-bottom: $-logo-padding-y;}}}.o_footer{@include o-apply-colors('footer'); .o_footer_copyright{@include o-apply-colors('copyright', $background: o-color('footer'));}}h2, h3, h4, h5, h6{color: color('o-cc1-h2');}h3, h4, h5, h6{color: color('o-cc1-h3');}h4, h5, h6{color: color('o-cc1-h4');}h5, h6{color: color('o-cc1-h5');}h6{color: color('o-cc1-h6');}.btn{@if ($o-theme-buttons-font != $o-theme-font){font-family: $o-theme-buttons-font;}}// Texts font[style*='background'], font[class*='bg-']{padding: 2px 6px 4px;}// Icons .fa{font-family: "FontAwesome" !important; $size: 3rem; &.rounded-circle, &.rounded, &.rounded-0, &.rounded-leaf, &.img-thumbnail, &.shadow{display: inline-block; vertical-align: middle; text-align: center; // fa-1x is not ouput @include size($size); line-height: $size; @for $i from 2 through 5{&.fa-#{$i}x{@include size($size + $i); line-height: $size + $i;}}// Default, if no background-color already selected background-color: $gray-100;}&.img-thumbnail{padding: 0;}&.rounded-leaf{border-top-left-radius: $size; border-bottom-right-radius: $size;}&.rounded-empty-circle{@extend .rounded-circle; border-width: ceil(1.4 * $border-width); border-style: solid; background: transparent;}}// Smaller container .o_container_small{@extend .container; @include media-breakpoint-up(lg){max-width: map-get($container-max-widths, md);}}// Buttons .btn{&.flat{border: 0; letter-spacing: 0.05em; text-transform: uppercase; @include button-size(0.75rem, 1.5rem, ($font-size-base * .75), $btn-line-height, 0); &.btn-lg{@include button-size(1rem, 2rem, ($font-size-lg * .75), $btn-line-height-lg, 0);}&.btn-sm{@include button-size(.5rem, 1rem, ($font-size-sm * .75), $btn-line-height-sm, 0);}&.btn-xs{@include button-size(.25rem, .5rem, ($font-size-base * .5), $btn-line-height-sm, 0);}}&.rounded-circle{border-radius: 100px !important; @include button-size(0.45rem, 1.35rem, $font-size-base, $btn-line-height, 30px); &.btn-lg{@include button-size(.6rem, 1.8rem, $font-size-lg, $btn-line-height-lg, 30px);}&.btn-sm{@include button-size(.3rem, .9rem, $font-size-sm, $btn-line-height-sm, 30px);}&.btn-xs{@include button-size(.15rem, .45rem, ($font-size-base * .75), $btn-line-height-sm, 30px);}}}// Background Images .oe_img_bg{background-size: cover; background-repeat: no-repeat; &.o_bg_img_opt_repeat{background-size: auto; background-repeat: repeat;}// Compatibility <= 13.0, TODO remove? // ----------------------------------- &.o_bg_img_opt_contain{background-size: contain; background-position: center center;}&.o_bg_img_opt_custom{background-size: auto;}&.o_bg_img_opt_repeat_x{background-repeat: repeat-x;}&.o_bg_img_opt_repeat_y{background-repeat: repeat-y;}}// Background videos .o_bg_video_container{@extend %o-we-background-layer;}.o_bg_video_iframe{position: relative; pointer-events: none !important;}.o_bg_video_loading{@include o-position-absolute(0, 0 ,0 ,0);}.o_background_video, .parallax{@extend %o-we-background-layer-parent;}// Probably outdated // Disable fixed height @media (max-width: 400px){section, .parallax, .row, .hr, .blockquote{height: auto !important;}}// Probably outdated // Table .table_desc{margin: 0 0 20px 0; width: 100%; word-break: break-all; border: 1px solid #dddddd;}.table_heading{background-color: #f5f5f5; border: 1px solid #dddddd; color: #666666; font-size: 14px; padding: 4px;}table.table_desc tr td{text-align: left; padding: 5px; font-size: 13px; &:first-child{width: 25%; font-weight: bold; border-bottom: 1px solid #c9c9c9; border-right: 1px solid #c9c9c9; border-left: none;}&:last-child{border-bottom: 1px solid #c9c9c9;}}// Jumbotron .jumbotron{border-radius: 0;}.o_full_screen_height{display: flex; flex-direction: column; justify-content: space-around; min-height: 100vh !important;}.o_half_screen_height{@extend .o_full_screen_height; min-height: 55vh !important;}// TODO remove cover_full and cover_mid classes (kept for compatibility for now) .cover_full{@extend .o_full_screen_height;}.cover_mid{@extend .o_half_screen_height;}// Allows custom border radius without contents overflowing. .card{overflow: hidden;}// // Snippets // // Carousel -> TODO: should be versioned in 000.scss file but how ? .s_carousel, .s_quotes_carousel{// Controls .carousel-control-prev, .carousel-control-next{position: absolute; cursor: pointer; width: 8%; opacity: 1;}@include media-breakpoint-down(sm){.carousel-control-prev, .carousel-control-next{display: none; // remove arrows on mobile}}.carousel-control-prev{justify-content: flex-start;}.carousel-control-next{justify-content: flex-end;}.carousel-control-prev-icon, .carousel-control-next-icon{@include size(auto); background-image: none; color: $body-color; &:before{font-family: "FontAwesome"; display: inline-block; background-color: #fff;}}// Content .carousel-inner{overflow: hidden; height: 100%; .carousel-item{height: 100%;}}// Indicators .carousel-indicators{position: absolute; li:hover:not(.active){background-color: rgba(255,255,255,.8);}}// Default &.s_carousel_default{// Controls - chevron .carousel-control-prev-icon:before{content: "\f053" #{""}; margin-left: 1.5rem;}.carousel-control-next-icon:before{content: "\f054" #{""}; margin-right: 1.5rem;}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{background-color: rgba(0,0,0,0); font-size: 2rem; color: #fff; text-shadow: $box-shadow-sm;}// Indicators .carousel-indicators li{height: .6rem; margin-bottom: .5rem; border: 0; border-radius: $border-radius-sm; box-shadow: $box-shadow-sm;}}// Border &.s_carousel_bordered{border: 2rem solid rgba(0,0,0,0); @include media-breakpoint-down(sm){border: 0.5rem solid rgba(0,0,0,0);}// Controls - caret .carousel-control-prev-icon:before{content: "\f0d9";}.carousel-control-next-icon:before{content: "\f0da";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(2rem, 6rem); line-height: 6rem; font-size: 1.5rem;}// Indicators .carousel-indicators li{@include size(3rem, 1rem);}}// Circle &.s_carousel_rounded{// Container // .carousel-inner{// border-top-left-radius: 10rem; // border-bottom-right-radius: 10rem; //}// Controls - arrow .carousel-control-prev{margin-left: 1.5rem;}.carousel-control-next{margin-right: 1.5rem;}.carousel-control-prev-icon:before{content: "\f060";}.carousel-control-next-icon:before{content: "\f061";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(4rem); line-height: 4rem; border-radius: 50%; font-size: 1.25rem;}// Indicators .carousel-indicators li{@include size(1rem); border-radius: 50%;}}// Boxed &.s_carousel_boxed{@include make-container(); @include make-container-max-widths(); .carousel-item{padding: 0 1rem;}// Controls - angle .carousel-control-prev, .carousel-control-next{align-items: flex-end; margin-bottom: 1.25rem;}.carousel-control-prev{margin-left: 3rem;}.carousel-control-next{margin-right: 3rem;}.carousel-control-prev-icon:before{content: "\f104";}.carousel-control-next-icon:before{content: "\f105";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(2rem); line-height: 2rem; font-size: 1.25rem;}// Indicators .carousel-indicators li{@include size(1rem); &:hover:not(.active){background-color: rgba(255,255,255,.8);}}}}.carousel .container{.carousel-img img{max-height: 95%; padding: 10px;}> .carousel-caption{@include o-position-absolute($right: 50%, $left: 50%); bottom: 20px; > div{position: absolute; text-align: left; padding: 20px; background: rgba(0, 0, 0, 0.4); bottom: 20px;}}> .carousel-image{@include o-position-absolute($top: 5%, $bottom: 5%); max-height: 90%; margin: 0 auto;}.carousel-item.text_image .container{> .carousel-caption{left: 10%; > div{right: 50%; margin-right: -20%; max-width: 550px;}}> .carousel-image{right: 10%; left: 50%;}}.carousel-item.image_text .container{> .carousel-caption{right: 10%; > div{left: 50%; margin-left: -20%; max-width: 550px;}}> .carousel-image{right: 50%; left: 10%;}}.carousel-item.text_only .container{> .carousel-caption{left: 10%; right: 10%; top: 10%; bottom: auto; > div{text-align: center; background: transparent; bottom: auto; width: 100%;}}> .carousel-image{display: none !important;}}}// Parallax .parallax{// TODO this introduces a limitation: no dropdown will be able to // overflow. Maybe there is a better way to find. &:not(.s_parallax_no_overflow_hidden){overflow: hidden;}> .s_parallax_bg{@extend %o-we-background-layer;}@include media-breakpoint-up(xl){// Fixed backgrounds are disabled when using a mobile/tablet device, // which is not a big deal but, on some of them (iOS...), defining the // background as fixed breaks the background-size/position props. // So we enable this only for >= XL devices. &.s_parallax_is_fixed > .s_parallax_bg{background-attachment: fixed;}}}// Keeps parallax snippet element selectable when Height = auto. .s_parallax{min-height: 10px;}// // Layout // $-transition-duration: 200ms; // Affixed Header .o_header_affixed{display: block; @include o-position-absolute(0, 0, auto, 0); position: fixed; // TODO remove me in master, the $light color makes no sense as is visible // if the header uses rounded corners but is impossible to edit / remove. // As a stable fix, it was decided to not remove it if the header uses a // transparent color, in which case mixing it with $light actually alters // the whole menu color. $-menu-color: o-color('menu'); @if $-menu-color and alpha($-menu-color) < 0.95{background: $light;}&:not(.o_header_no_transition){transition: transform $-transition-duration;}@if o-website-value('header-template') == 'boxed'{background: transparent;}&.o_header_is_scrolled{.navbar-brand{font-size: $o-theme-navbar-fixed-logo-height / $line-height-base; img{height: $o-theme-navbar-fixed-logo-height;}}@if o-website-value('header-template') == 'vertical'{.o_header_centered_logo{display: none;}@include media-breakpoint-up(lg){.navbar-brand{font-size: 0; opacity: 0; img{height: 0;}}}}}&.o_header_standard.o_header_is_scrolled{@if index(('menu_logo_below', 'logo_menu_below'), o-website-value('header-template')) != null{.navbar-brand{&, img{transition: none;}}}}}// Navbar .navbar .o_extra_menu_items.show > ul{> li{+ li{border-top: 1px solid gray('200');}> a.dropdown-toggle{background-color: gray('200'); color: inherit; // Useful when the toggle is active pointer-events: none; // hack to prevent clicking on it because dropdown always opened}> ul, > .o_mega_menu{// remove dropdown-menu default style as it is nested in another one position: static; float: none; display: block; max-height: none; margin-top: 0; padding: 0; border: none; box-shadow: none;}> .o_mega_menu .row > div{// remove mega menu col-lg-* style max-width: none; flex: auto;}}}$-off-canvas-hamburger: o-website-value('hamburger-type') == 'off-canvas'; $-hamburger-left: o-website-value('hamburger-position') == 'left'; $-hamburger-center: o-website-value('hamburger-position') == 'center'; $-hamburger-right: o-website-value('hamburger-position') == 'right'; $zindex-website-header: $zindex-fixed !default; header{&#top{// We need this z-index for the shadow option of the header but also // to create a stacking context so that header dropdowns appear below // and above the same elements as the header. z-index: $zindex-website-header;}&:not(.o_header_no_transition){#top_menu_container{transition: all $-transition-duration;}.navbar-brand{transition: margin $-transition-duration, font-size $-transition-duration, opacity $-transition-duration ease-out; img{transition: height $-transition-duration;}}}// Dropdown menus // In mobile there is no need to limit the height... @include media-breakpoint-up(lg){.navbar .dropdown-menu{max-height: 60vh; overflow-y: auto; overflow-x: hidden; // Needed because of container in container having 0px padding... TODO improve}}// ... but we limit the navbar-collapse height .navbar-collapse.show{max-height: 80vh; overflow-y: auto; overflow-x: hidden; // Needed because of container in container having 0px padding... TODO improve}&:not(.o_header_is_scrolled){$-is-hamburger: o-website-value('header-template') == 'hamburger'; @include media-breakpoint-up(md){@if $-is-hamburger{#top_menu_container{padding-top: $spacer * 0.5; padding-bottom: $spacer * 0.5;}}}}#top_menu_container{flex-direction: inherit;}@if $-hamburger-center{.collapsing, .show{#top_menu{@if not $-off-canvas-hamburger{padding-top: 15vh; padding-bottom: 15vh;}text-align: center;}}}@include media-breakpoint-up(md){// Allow to center the logo, ignoring the toggler space .o_navbar_toggler_container{flex: 0 0 0; min-width: 0; direction: if($-hamburger-left, ltr, rtl);}}nav.navbar{@if o-website-value('menu-border-width'){border: o-website-value('menu-border-width') o-website-value('menu-border-style') o-color('menu-border-color') !important;}border-radius: o-website-value('menu-border-radius') !important; box-shadow: o-website-value('menu-box-shadow') !important;}}@if $-off-canvas-hamburger{#top_menu_collapse{&.collapsing, &.show{// Note: position relatively to the header instead of the viewport // because fixed position cannot work inside an element whose CSS // transform is different to none, which the header element is // because of header effects. @include o-position-absolute(0, 0, 0, 0); z-index: $zindex-sticky; height: 100vh; max-height: 100vh; transition: none; transform: none; &, & > .o_header_collapsed_content_wrapper{// TODO improve: ugly code to reset a potential wrapper display: flex !important; flex-flow: if($-hamburger-left, row, row-reverse) nowrap !important; align-items: stretch !important; justify-content: flex-start !important;}> .o_header_collapsed_content_wrapper{// TODO improve: ugly code to reset a potential wrapper max-width: none !important; padding: 0 !important; margin: 0 !important;}.o_offcanvas_menu_backdrop{@include o-position-absolute(0, 0, 0, 0); opacity: .2; cursor: pointer;}#top_menu{flex: 0 0 auto !important; overflow: auto; flex-flow: column nowrap !important; @if $-hamburger-center{width: 100%; max-width: none;}@else{max-width: 560px; text-align: left !important;}min-width: 250px; margin: 0 !important; background-color: o-color('menu'); transition: transform $-transition-duration cubic-bezier(.694, .0482, .335, 1); @if $-hamburger-center{.o_offcanvas_menu_backdrop{display: none;}.o_offcanvas_menu_toggler{max-width: 90%;}}.nav-item, .o_offcanvas_logo{padding-left: $grid-gutter-width; padding-right: $grid-gutter-width;}.nav-item, .dropdown-menu{text-align: inherit;}.nav-item, .nav-link{margin: 0 !important;}.navbar-toggler{display: block !important;}// Open all dropdowns .dropdown-toggle{padding-bottom: $nav-link-padding-y*0.5; &:after{content: none;}}.dropdown-menu{display: block; padding-top:0; border: 0; background: inherit; color: inherit;}.dropdown-item{padding-left: .5em; padding-right: .5em;}}.o_connected_user:not(.editor_has_snippets):not(.o_fullscreen) header &{top: -$o-navbar-height; padding-top: $o-navbar-height;}}&.collapsing #top_menu{@if $-hamburger-center{transform: translateY(-100%);}@else if $-hamburger-left{transform: translateX(-100%);}@else if $-hamburger-right{transform: translateX(100%);}}&.show #top_menu{transform: translate(0);}.o_offcanvas_menu_backdrop{@if $-hamburger-left{background-image: linear-gradient(90deg, currentColor 20%, transparent);}@else{background-image: linear-gradient(-90deg, currentColor 20%, transparent);}}}}@if o-website-value('header-template') == 'vertical'{header .o_header_centered_logo{order: -1; width: 50%; margin-top: $spacer; @include media-breakpoint-up(lg){order: inherit; width: 40%; margin-bottom: $spacer;}}.navbar-nav{padding-top: $navbar-padding-y; padding-bottom: $navbar-padding-y;}}@else if o-website-value('header-template') == 'sidebar'{@include media-breakpoint-up(lg){#wrapwrap{// Hack: padding is also used by layout option (boxed, etc), need to // combine both options/effects... @if $-hamburger-right{border-right: o-website-value('sidebar-width') solid transparent;}@else{border-left: o-website-value('sidebar-width') solid transparent;}// ... but don't use it on Safari, it doesn't work, the menu is // somehow broken and not visible. &.o_safari_browser{$padding-size: o-website-value('sidebar-width'); @if o-website-value('layout') != 'full'{$padding-size: calc(#{$grid-gutter-width}* 2 + #{$padding-size});}@if $-hamburger-right{padding-right: $padding-size; border-right: none;}@else{padding-left: $padding-size; border-left: none;}}> header{@if $-hamburger-right{@include o-position-absolute(0, 0, 0, auto);}@else{@include o-position-absolute(0, auto, 0, 0);}position: fixed; z-index: $zindex-fixed; display: flex; width: o-website-value('sidebar-width'); transform: none !important; .navbar{width: 100%; align-items: start; padding: $spacer; .navbar-brand{max-width: 100%; padding: 0 0 $spacer 0;}#top_menu_container{flex-direction: column; align-items: start; padding: 0;}.navbar-nav{flex-direction: column;}.nav-link, .dropdown-item{white-space: initial;}.dropdown-menu{position: static;}}}}body.o_connected_user:not(.o_fullscreen){&:not(.editor_has_snippets) #wrapwrap > header{top: $o-navbar-height;}&.editor_has_snippets #wrapwrap > header{@if $-hamburger-right{right: $o-we-sidebar-width;}}}}}@else if o-website-value('header-template') == 'boxed'{#wrapwrap:not(.o_header_overlay) .o_header_boxed_background{@include o-apply-colors('header-boxed');}}@else if o-website-value('header-template') == 'centered_logo'{header .o_header_centered_logo{@include media-breakpoint-up(lg){width: 50%;}}}@else if o-website-value('header-template') == 'hamburger-full'{@if not $-off-canvas-hamburger{@include media-breakpoint-up(md){#wrapwrap{$o-hamburger-full-navbar-height: $o-theme-navbar-logo-height + ($navbar-padding-y * 2); > header{.navbar-collapse{> .container{height: calc(100vh - #{$o-navbar-height}- #{$o-hamburger-full-navbar-height}); transition: height .3s ease;}.nav-link{padding-right: $nav-link-padding-x; padding-left: $nav-link-padding-x;}.dropdown-menu{position: absolute;}}}}}}}// Mega menu .o_mega_menu{width: 100%; padding: 0; margin-top: 0; border-radius: 0; background-clip: unset; // Remove the 1px gap introduced by BS4 .container, .container-fluid{// Need to reforce those because they are removed since its a container // inside another container (the one in the navbar) padding-left: $grid-gutter-width / 2; padding-right: $grid-gutter-width / 2;}}.o_mega_menu_container_size{$-header-template: o-website-value('header-template'); @if not index(('sidebar', 'hamburger', 'magazine'), $-header-template){$bp: if($-header-template == 'minimalist', md, lg); @include media-breakpoint-up($bp){left: 50%; transform: translateX(-50%);}}$-mm-max-widths: (); @each $k, $v in $container-max-widths{$-mm-max-widths: map-merge($-mm-max-widths, ( #{$k}: $v - $grid-gutter-width, ));}@include make-container-max-widths($-mm-max-widths);}#wrapwrap.o_header_overlay{> header:not(.o_header_affixed):not(.o_top_menu_collapse_shown){@include o-position-absolute(0, 0, auto, 0); z-index: 1000; > .navbar{@include o-apply-colors(1); // Reset to default colored components background-color: transparent !important; border-color: transparent; color: inherit; .nav-item{> .nav-link{&, &:hover{background-color: transparent; color: inherit;}&.active{font-weight: bolder;}}}}}}// Navbar Links Styles @if index(('block', 'border-bottom'), o-website-value('header-links-style')){@include media-breakpoint-up(md){.navbar, .navbar-nav{padding-top: 0; padding-bottom: 0;}}}.navbar-nav{.nav-link{@if o-website-value('header-links-style') == 'outline'{// Need to force the padding in this case so that it stays in mobile padding-right: $navbar-nav-link-padding-x; padding-left: $navbar-nav-link-padding-x; border: $border-width solid transparent; @include border-radius($nav-pills-border-radius);}@else if o-website-value('header-links-style') == 'block'{// There is no way to control navbar links vertical padding in BS4 // independently from nav ones, just double them here instead padding-top: $nav-link-padding-y * 2; padding-bottom: $nav-link-padding-y * 2; @include border-radius(0);}@else if o-website-value('header-links-style') == 'border-bottom'{// There is no way to control navbar links vertical padding in BS4 // independently from nav ones, just double them here instead padding-top: ($nav-link-padding-y * 2); padding-bottom: ($nav-link-padding-y * 2); border-bottom: $nav-link-padding-y solid transparent; // Replace horizontal paddings by margins (do this with an extra // class to override .navbar-expand-* paddings priority). .navbar &{padding-left: 0; padding-right: 0; margin: 0 $navbar-nav-link-padding-x;}}}@if index(('outline', 'border-bottom'), o-website-value('header-links-style')){.nav-link.active, .show > .nav-link{border-color: currentColor;}}}@if index(('slideout_slide_hover', 'slideout_shadow'), o-website-value('footer-effect')){@include media-breakpoint-up(lg){// This effect is disabled when a modal is opened. This is the easiest // and probably most stable solution for this problem: // - Add a popup in your page and select it to be for "All pages" // => In that case it ends up in the footer of your page // - Enable the "Slide Hover" effect for your footer // // => In that case, when the popup opens, it is not visible because of // the footer z-index ("Slide Hover" effect) and it actually also // prevents the user to scroll. // // TODO in master, we may want to put such popups elsewhere than in the // footer. When the footer is hidden, this is also a problem: the popup // for all pages cannot be visible ever. This is considered a limitation // in stable versions though. body:not(.modal-open) #wrapwrap.o_footer_effect_enable{> main{@if o-website-value('layout') == 'full'{// Ensure a transparent snippet at the end of the content // still appears with the same background when hovering the // footer during the scroll effect. background-color: $body-bg;}@if o-website-value('footer-effect') == 'slideout_shadow'{box-shadow: $box-shadow;}}> footer{@include o-position-sticky(auto, 0, 0, 0); z-index: -1;}}}}// Language selector #wrapwrap:not(.o_rtl){.js_language_selector{.dropdown-menu{min-width: 0;}}}.js_language_selector{a.list-inline-item{padding: 3px 0; > *{vertical-align: middle;}}}.o_lang_flag{width: 1.5em; height: 1.5em; margin-right: 0.2em; border-radius: $rounded-pill;}span.list-inline-item.o_add_language:last-child{display: none !important; // Hide the separator if it is the last list item}// Footer scrolltop button @if o-website-value('footer-scrolltop'){#o_footer_scrolltop_wrapper{position: relative; z-index: 1;}#o_footer_scrolltop{$-footer-color: o-color('footer'); $-copyright-color: o-color('copyright'); $-copyright-color: mix(rgba($-copyright-color, 1.0), $-footer-color, percentage(alpha($-copyright-color))); box-sizing: content-box; width: 3rem; height: 3rem; border: 0; padding: 0; @include o-apply-colors('footer', $with-extras: false, $background: $-footer-color); text-decoration: none; @if $-footer-color == $-copyright-color{color: rgba(color-yiq($-footer-color), 0.5);}@include hover-focus{@include o-apply-colors($-copyright-color, $with-extras: false, $background: $-footer-color); text-decoration: none;}}}// Figure with special style .o_figure_relative_layout{position: relative; .figure-img{margin-bottom: 0;}.figure-caption{@include o-position-absolute(auto, 0, 0, 0); @include o-bg-color(rgba(theme-color('dark'), $o-theme-figcaption-opacity)); padding: $tooltip-padding-y $tooltip-padding-x; font-weight: $font-weight-bold; a{color: inherit;}}}@each $color, $value in $theme-colors{.bg-#{$color}-light{background-color: rgba($value, 0.1);}}@each $media, $color in $o-social-colors{@include text-emphasis-variant(".text-#{$media}", $color);}// TODO: Will be handled properly in master/saas-12.2, temp fix for website_event.registration_attendee_details .modal-footer > .float-left{margin-right: auto;}// CoverProperties .o_record_cover_container{position: relative; .o_record_cover_component{@include o-position-absolute(0, 0, 0, 0); background-size: cover; background-position: center; background-repeat: no-repeat;}}// Scroll down button .o_scroll_button{@include o-position-absolute(auto, 0, 0, 0); display: flex; width: 50px; height: 50px; animation: o-anim-heartbeat 2.6s ease-in-out 1s infinite; &, &:hover{text-decoration: none;}&:focus{outline: none;}&:hover{animation-iteration-count: 1;}}// Attention keeper for the "scroll down" top-banner button @keyframes o-anim-heartbeat{0%, 14%, 35%{transform: scale(1);}7%, 21%{transform: scale(1.3); background-color: rgba(theme-color('primary'), 0.8);}}// Ribbons $ribbon-padding: 100px; .o_ribbon{margin: 0; font-size: 1rem; font-weight: bold; white-space: nowrap; text-align: center; pointer-events: none;}.o_ribbon_right{@include o-ribbon-right();}.o_ribbon_left{@include o-ribbon-left();}.o_tag_right{@include o-tag-right();}.o_tag_left{@include o-tag-left();}// Cookies Bar #website_cookies_bar{:not(.o_cookies_popup){bottom: 0;}.o_cookies_discrete{.js_close_popup.o_cookies_bar_text_button, .o_cookies_bar_text_policy{@include media-breakpoint-down(md){margin-bottom: 1rem;}}}}.o_website_btn_loading{cursor: wait; opacity: $btn-disabled-opacity; .fa:not(.fa-spin){display: none;}}// Snippet Showcase .s_showcase_icon{// Avoid images stretched depending on title size (when icons // are images an not Font Awesome icons). Because the default // value of "align-self" is "strech". We put this code here to // avoid having to create a new scss file in a stable version. align-self: flex-start;}// Bottom fixed element (e.g. livechat button) .modal-open .o_bottom_fixed_element, .o_bottom_fixed_element_hidden{// Prevent bottom fixed elements from hidding buttons and // hide them if a modal is open. display: none !important;}

/* /website/static/src/scss/website.ui.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups main website UI layout rules (when the user is connected) /// and the UI components rules. /// // LAYOUTING body{// Set frontend direction that will be flipped with // rtlcss for right-to-left text direction. direction: ltr;}body.o_connected_user{padding-top: $o-navbar-height!important; &.o_fullscreen_transition{transition: padding 400ms ease 0s; #oe_main_menu_navbar, #web_editor-top-edit, .o_we_website_top_actions, #oe_snippets{transition: transform 400ms ease 0s !important;}.o_header_affixed{transition: top 0.35s !important;}}&.o_fullscreen{padding-top: 0 !important; &.editor_enable.editor_has_snippets{padding-right: 0 !important; .modal:not(.o_technical_modal){right: 0;}}#oe_main_menu_navbar, #web_editor-top-edit{transform: translateY(-100%);}.o_we_website_top_actions, #oe_snippets{transform: translateX(100%);}.o_header_affixed{top: 0 !important; right: 0 !important;}}}// MAIN MENU STYLE (added above navbar.scss) #oe_main_menu_navbar{@include o-w-preserve-dropdown-menus; @include o-position-absolute(0, 0, auto, 0); position: fixed; z-index: $zindex-modal - 10; font-family: $o-we-font-family; font-size: 14px; a:hover, a:focus{text-decoration: none;}.dropdown-menu{font-size: inherit; border-radius: 0; color: $dropdown-link-active-color;}.o_menu_sections{.o_mobile_preview a{text-align: center; font-size: 20px;}}.o_menu_systray{> li > a{padding: 0 $grid-gutter-width/2; &.css_edit_dynamic{padding: 0 $grid-gutter-width/4;}&[data-action="edit"], &[data-action="translate"], &.css_edit_dynamic{@include button-variant($o-brand-primary, $o-brand-primary);}&, &:hover, &:focus{text-decoration: none;}}.o_mobile_preview a{text-align: center; font-size: 20px;}}@include media-breakpoint-down(sm){#oe_applications{position: inherit; z-index: 1002;}}}@mixin o-w-close-icon($size:12px, $color:#000, $color-hover:#000, $thickness: 1px, $opacity: 0.7, $opacity-hover: 1){color: transparent; position: relative; display: inline-block; opacity: $opacity; width: $size; height: $size; &:hover, &:focus{outline: none; opacity: $opacity-hover; &::after, &::before{background: $color-hover;}}&:after, &:before{content: ''; margin-top: -1px; background: $color; @include size(100%, $thickness); @include o-position-absolute(50%, $left:0); transform: rotate(45deg);}&:after{transform: rotate(-45deg);}}// BLOCKING LOADER #o_website_page_loader{@include o-position-absolute(0, 0, 0, 0); z-index: $zindex-modal - 1; background-color: rgba(0, 0, 0, 0.8);}// MODALS body .modal{&.o_technical_modal{@include o-w-preserve-base; @include o-w-preserve-dropdown-menus; @include o-w-preserve-headings; @include o-w-preserve-forms; @include o-w-preserve-links; @include o-w-preserve-btn; @include o-w-preserve-cards; @include o-w-preserve-modals; @include o-w-preserve-tabs;}// MOBILE PREVIEW &.oe_mobile_preview{text-align: center; .modal-dialog{display: inline-block; width: auto; .modal-content{background-color: black!important; border: 3px outset gray; border-radius: 20px; .modal-header{border: none; cursor: pointer; font-family: $o-we-font-family; &, .close{color: white;}h4{font-family: inherit; font-weight: normal; color: inherit; .fa{margin-left: $grid-gutter-width/2;}}.close{color: #4e525b;}}.modal-body{background-color: inherit!important; border-radius: 20px; padding: 15px; $mobile-preview-width: 320px; $mobile-preview-height: 530px; display: flex; width: $mobile-preview-width + 15; height: $mobile-preview-height; transition: all 400ms ease 0s; &.o_invert_orientation{width: $mobile-preview-height + 15; height: $mobile-preview-width;}> iframe{display: block; width: 100%; border: none;}}.modal-footer{display: none;}}}}// TOP MENU EDITOR .oe_menu_editor{ul{padding-left: 37px;}li{margin-top: -1px; .input-group-addon{border-radius: 0;}}}// SEO CONFIGURATION &.oe_seo_configuration{#language-box{padding-right: 25px; background-color: white;}.o_seo_og_image{.o_meta_img{position: relative; transition: border-color 200ms; display: inline-block; border: 2px solid gray('400'); > img{width: 70px; height: 70px; object-fit: cover; cursor: pointer;}&:hover{border-color: $o-brand-primary;}&.o_active_image{border-color: $o-brand-primary; &:before{@include o-position-absolute($right: 0); content: ''; border: 16px solid rgba($o-brand-primary, 0.8); border-left-color: transparent; border-bottom-color: transparent;}&:after{@include o-position-absolute(2px, 3px); display: inline-block; content: "\f00c"; font-family: FontAwesome; color: white; font-size: 12px;}}.o-custom-label{@include o-position-absolute($bottom: 0px); background: rgba(gray('800'), 0.6); font-size: 12px;}}.o_meta_img_upload{transition: 200ms; display: inline-block; padding: 23px 27px; border: 3px dashed lighten(gray('700'), 30%); vertical-align: top; cursor: pointer; color: lighten(gray('600'), 30%); &:hover{border-color: $o-brand-primary; color: $o-brand-primary;}}.o_meta_active_img{height: 240px; object-fit: cover;}}div.oe_seo_preview_g{list-style: none; font-family: arial, sans-serif; .r{cursor: pointer; color:#1a0dab; font-size: 18px; overflow: hidden; text-overflow: ellipsis; -webkit-text-overflow: ellipsis; white-space: nowrap;}.s{font-size: 13px; line-height: 18px; color: #545454; .kv{color: #006621; font-size: 14px; line-height: 18px;}}}td.o_seo_keyword_suggestion span.o_seo_suggestion.badge{cursor: pointer;}}}// ADD NEW PAGE MODAL .o_new_content_open{// Kill the scroll on the body overflow: hidden;}#o_new_content_menu_choices{@include o-w-preserve-base; @include o-position-absolute($o-navbar-height, 0, 0, 0); position: fixed; display: flex; overflow: auto; background-color: rgba(0, 0, 0, 0.8); font-family: $o-we-font-family; &::before{content: " "; @include o-position-absolute(0, 0, 0, 0); z-index: -1; pointer-events: none;}.container{max-width: 720px; margin: auto;}.o_new_content_element{opacity: 0; animation: fadeInDownSmall 1s forwards; .o_uninstalled_module{filter: brightness(70%) contrast(60%);}.module_icon{display: block; margin: auto;}a{display: block; font-size: 34px; text-align: center; text-decoration: none; i{width: 110px; height: 110px; border: 3px solid lighten(#2C2C36, 10%); border-radius: 100%; line-height: 104px; background-color: #2C2C36; color: white; transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;}p{color: white; margin-top: 0.7em; font-size: 0.5em;}&:hover, &:focus{text-decoration: none; outline: none; // remove ugly dotted border on Firefox i{border-color: #1cc1a9; box-shadow: 0 0 10px rgba(28, 193, 169, 0.46);}}}}}// LOGIN FORM .oe_login_form, .oe_signup_form, .oe_reset_password_form{max-width: 300px; position: relative; margin: 50px auto;}// ACE EDITOR .o_ace_view_editor{@include o-w-preserve-base; @include o-w-preserve-btn; @include o-w-preserve-forms; @include o-position-absolute($o-navbar-height, 0, 0); position: fixed; z-index: $zindex-modal;}// POPOVER NAVIGATION .tour .popover-navigation{margin-left: 13px; margin-bottom: 8px;}// PUBLISH .css_published{.btn-danger, .css_publish{display: none;}}.css_unpublished{.btn-success, .css_unpublish{display: none;}}[data-publish='off'] > *:not(.css_options){opacity: 0.5;}// Do not show path behind the links in browser printing @media print{a[href]:after{content: initial;}}// Pages Management .o_page_management_info{.o_switch{padding-top: 9px;}}#list_website_pages{th{background-color: $o-brand-odoo; color: white;}td, th{padding: 0.45rem;}td{> a.fa{margin-left: 5px; color: $o-brand-odoo;}.text-muted{opacity: 0.5;}}.fa-check, .fa-eye-slash{color: $info;}}.ui-autocomplete.o_website_ui_autocomplete{max-width: 400px; font-size: $o-we-sidebar-font-size; border: none; background-color: $o-we-sidebar-content-field-dropdown-bg; box-shadow: $o-we-sidebar-content-field-dropdown-shadow; > li{border-bottom: $o-we-sidebar-content-field-border-width solid lighten($o-we-sidebar-content-field-dropdown-border-color, 15%); border-radius: $o-we-sidebar-content-field-border-radius; background-color: $o-we-sidebar-content-field-clickable-bg; color: $o-we-sidebar-content-field-clickable-color; &.ui-menu-item{> div{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 20px; &.ui-state-active{border: $o-we-sidebar-content-field-dropdown-border-width solid transparent; background-color: $o-we-sidebar-content-field-dropdown-item-bg-hover;}}}&.ui-autocomplete-category{background-color: $o-we-bg-lighter;}}}// Page Properties .o_redirect_old_url{@include media-breakpoint-down(sm){// Because o_technical_modal class class has a higher z-index than $zindex-modal. z-index: $o-we-technical-modal-zindex + ($zindex-popover - $zindex-modal);}.popover-body{overflow-y: auto; max-height: 14.2rem;}}// Post Submit Links .post_link:not(.o_post_link_js_loaded){pointer-events: none;}

/* /website/static/src/snippets/s_alert/000.scss defined in bundle 'web.assets_frontend' */
 .s_alert{margin: $grid-gutter-width/2 0; border: $alert-border-width solid; border-radius: $alert-border-radius; p, ul, ol{&:last-child{margin-bottom: 0;}}&_sm{padding: $grid-gutter-width/3; font-size: $font-size-sm;}&_md{padding: $grid-gutter-width/2; font-size: $font-size-base;}&_lg{padding: $grid-gutter-width; font-size: $font-size-lg;}&_icon{float: left; margin-right: 10px;}&_content{overflow: hidden;}}

/* /website/static/src/snippets/s_card/000.scss defined in bundle 'web.assets_frontend' */
 .s_card{margin: $grid-gutter-width/2 0; .card-body{// color: initial; p, ul, ol{&:last-child{margin-bottom: 0;}}}}

/* /website/static/src/snippets/s_share/000.scss defined in bundle 'web.assets_frontend' */
 .s_share{> *{display: inline-block; vertical-align: middle;}.s_share_title{margin: 0 .4rem 0 0;}a{i.fa{display: flex; justify-content: center; align-items: center;}margin: .2rem;}&:not(.no_icon_color){.s_share_facebook{&, &:hover, &:focus{@extend .text-facebook;}}.s_share_twitter{&, &:hover, &:focus{@extend .text-twitter;}}.s_share_linkedin{&, &:hover, &:focus{@extend .text-linkedin;}}.s_share_google{&, &:hover, &:focus{@extend .text-google-plus;}}.s_share_whatsapp{&, &:hover, &:focus{@extend .text-whatsapp;}}.s_share_pinterest{&, &:hover, &:focus{@extend .text-pinterest;}}.s_share_github{&, &:hover, &:focus{@extend .text-github;}}.s_share_instagram{&, &:hover, &:focus{@extend .text-instagram;}}.s_share_youtube{&, &:hover, &:focus{@extend .text-youtube;}}}}

/* /website/static/src/snippets/s_rating/001.scss defined in bundle 'web.assets_frontend' */
 .s_rating[data-vcss="001"]{&.s_rating_inline{display: flex; align-items: center; .s_rating_title{margin: 0; margin-right: 0.5em;}.s_rating_icons{margin-left: auto;}}}

/* /website/static/src/snippets/s_hr/000.scss defined in bundle 'web.assets_frontend' */
 .s_hr{line-height: 0; hr{padding: 0; border: 0; border-top: 1px solid currentColor; margin: 0; color: inherit;}}

/* /website/static/src/snippets/s_image_gallery/001.scss defined in bundle 'web.assets_frontend' */
 .s_image_gallery[data-vcss="001"]{&.o_grid, &.o_masonry{.img{width: 100%;}}&.o_grid{&.o_spc-none div.row{margin-bottom: 0px;}&.o_spc-small div.row > div{margin-bottom: $spacer;}&.o_spc-medium div.row > div{margin-bottom: $spacer * 2;}&.o_spc-big div.row > div{margin-bottom: $spacer * 3;}}&.o_masonry{&.o_spc-none div.o_masonry_col{padding: 0; > img, > a > img{margin: 0 !important;}}&.o_spc-small div.o_masonry_col{padding: 0 ($spacer * .5); > img, > a > img{margin-bottom: $spacer !important;}}&.o_spc-medium div.o_masonry_col{padding: 0 $spacer; > img, > a > img{margin-bottom: $spacer * 2 !important;}}&.o_spc-big div.o_masonry_col{padding: 0 ($spacer * 1.5); > img, > a > img{margin-bottom: $spacer * 3 !important;}}}&.o_nomode{&.o_spc-none .row div{padding-top: 0; padding-bottom: 0;}&.o_spc-small .row div{padding-top: $spacer * .5; padding-bottom: $spacer * .5;}&.o_spc-medium .row div{padding-top: $spacer; padding-bottom: $spacer;}&.o_spc-big .row div{padding-top: $spacer * 1.5; padding-bottom: $spacer * 1.5;}}&:not(.o_slideshow){img{cursor: pointer;}}&.o_slideshow{.carousel{.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{padding-bottom: 64px;}ul.carousel-indicators li{border: 1px solid #aaa;}}ul.carousel-indicators{position: absolute; left: 0%; bottom: 0; width: 100%; height: auto; margin-left: 0; padding: 0; border-width: 0; > *{list-style-image: none; display: inline-block; width: 40px; height: 40px; line-height: 40px; margin: 2.5px 2.5px 2.5px 2.5px; padding: 0; border: 1px solid #aaa; text-indent: initial; background-size: cover; background-color: #fff; background-position: center; border-radius: 0; vertical-align: bottom; flex: 0 0 40px; &:not(.active){opacity: 0.8; filter: grayscale(1);}}}> .container, > .container-fluid, > .o_container_small{height: 100%;}&.s_image_gallery_cover .carousel-item{> a{width: 100%; height: 100%;}> a > img, > img{width: 100%; height: 100%; object-fit: cover;}}&:not(.s_image_gallery_show_indicators) .carousel{ul.carousel-indicators{display: none;}.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{padding-bottom: 0px;}}&.s_image_gallery_indicators_arrows_boxed, &.s_image_gallery_indicators_arrows_rounded{.carousel{.carousel-control-prev .fa, .carousel-control-next .fa{text-shadow: none;}}}&.s_image_gallery_indicators_arrows_boxed{.carousel{.carousel-control-prev .fa:before{content: "\f104"; padding-right: 2px;}.carousel-control-next .fa:before{content: "\f105"; padding-left: 2px;}.carousel-control-prev .fa:before, .carousel-control-next .fa:before{display: block; width: 3rem; height: 3rem; line-height: 3rem; color: black; background: white; font-size: 1.25rem; border: 1px solid $gray-500;}}}&.s_image_gallery_indicators_arrows_rounded{.carousel{.carousel-control-prev .fa:before{content: "\f060";}.carousel-control-next .fa:before{content: "\f061";}.carousel-control-prev .fa:before, .carousel-control-next .fa:before{color: black; background: white; font-size: 1.25rem; border-radius: 50%; padding: 1.25rem; border: 1px solid $gray-500;}}}&.s_image_gallery_indicators_rounded{.carousel{ul.carousel-indicators li{border-radius: 50%;}}}&.s_image_gallery_indicators_dots{.carousel{ul.carousel-indicators{height: 40px; margin: auto; li{max-width: 8px; max-height: 8px; margin: 0 6px; border-radius: 10px; background-color: $black; background-image: none !important; &:not(.active){opacity: .4;}}}}}@extend %image-gallery-slideshow-styles;}.carousel-inner .item img{max-width: none;}}.s_gallery_lightbox{.close{font-size: 2rem;}.modal-dialog{height: 100%; background-color: rgba(0,0,0,0.7);}@include media-breakpoint-up(sm){.modal-dialog{max-width: 100%; padding: 0;}}ul.carousel-indicators{display: none;}.modal-body.o_slideshow{@extend %image-gallery-slideshow-styles;}}%image-gallery-slideshow-styles{&:not(.s_image_gallery_cover) .carousel-item{> a{display: flex; height: 100%; width: 100%;}> a > img, > img{max-height: 100%; max-width: 100%; margin: auto;}}.carousel{height: 100%; .carousel-inner{height: 100%;}.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{display: flex; align-items: center; height: 100%;}.carousel-control-next .fa, .carousel-control-prev .fa{text-shadow: 0px 0px 3px $gray-800;}}}

/* /website/static/src/snippets/s_product_catalog/001.scss defined in bundle 'web.assets_frontend' */
.s_product_catalog[data-vcss='001']{.s_product_catalog_dish{// Title .s_product_catalog_dish_title{line-height: $headings-line-height;}// Description .s_product_catalog_dish_description{margin-bottom: $spacer;}&:last-child{.s_product_catalog_dish_description{margin-bottom: 0;}}// Dot Leaders .s_product_catalog_dish_dot_leaders{display: flex; flex-grow: 1; align-items: center; &::after{content: ''; margin-left: $spacer/2; flex: 1 0 auto; border-bottom: 1px dotted;}}}}

/* /website/static/src/snippets/s_comparisons/000.scss defined in bundle 'web.assets_frontend' */
 .s_comparisons{.card-body{.card-title{margin: 0;}.s_comparisons_currency, .s_comparisons_price, .s_comparisons_decimal{display: inline-block; vertical-align: middle;}.s_comparisons_currency, .s_comparisons_decimal{font-size: 80%;}.s_comparisons_price{font-size: 200%;}}}

/* /website/static/src/snippets/s_company_team/000.scss defined in bundle 'web.assets_frontend' */
 .s_company_team{@include media-breakpoint-down(md){img{max-width: 50%;}}}

/* /website/static/src/snippets/s_references/000.scss defined in bundle 'web.assets_frontend' */
 .s_references .img-thumbnail{border: none;}

/* /website/static/src/snippets/s_popup/001.scss defined in bundle 'web.assets_frontend' */
.s_popup[data-vcss='001']{.modal-content{min-height: $font-size-lg * 2; max-height: none; border: 0; border-radius: 0; box-shadow: $modal-content-box-shadow-sm-up;}.modal-dialog{height: auto; min-height: 100%; @include media-breakpoint-down(xs){min-height: calc(100% - 2 * #{$modal-dialog-margin});}}// Close icon .s_popup_close{z-index: $zindex-modal; @include o-position-absolute(0, 0); width: $font-size-lg * 2; height: $font-size-lg * 2; line-height: $font-size-lg * 2; @include o-bg-color(color-yiq(o-color('primary')), o-color('primary'), $with-extras: false); box-shadow: $box-shadow-sm; cursor: pointer; font-size: $font-size-lg; text-align: center;}// Size option - Full .s_popup_size_full{padding: 0 !important; max-width: 100%; > .modal-content{// Use the backdrop color as background-color background-color: transparent; box-shadow: none; border-radius: 0;}}// Position option - Middle .s_popup_middle .modal-dialog{align-items: center;}// Position option - Top/Bottom .s_popup_top, .s_popup_bottom{.modal-dialog{margin-right: 0; &:not(.s_popup_size_full){padding: $spacer !important;}}}.s_popup_top .modal-dialog{align-items: flex-start;}.s_popup_bottom .modal-dialog{align-items: flex-end;}// No backdrop .s_popup_no_backdrop{// If the popup is taller than the page you should not be able to // interact with the elements behind, otherwise you should (when there // is no backdrop). &:not(.s_popup_overflow_page){pointer-events: none;}.modal-content{pointer-events: auto;}}}

/* /website/static/src/snippets/s_faq_collapse/000.scss defined in bundle 'web.assets_frontend' */
 .s_faq_collapse{.accordion .card{.card-header{cursor: pointer; display: inline-block; width: 100%; padding: .5em 0; border-radius: 0; outline: none; &:before{content:'\f056'; font-family: 'FontAwesome'; display: inline-block; margin: 0 .5em 0 .75em; color: $gray-600;}&.collapsed:before{content:'\f055'; font-family: 'FontAwesome';}&:hover, &:focus{text-decoration: none;}}.card-body{padding: 1em 2.25em;}}.card-body p:last-child, .card-body ul:last-child{margin-bottom: 0;}}

/* /website/static/src/snippets/s_features_grid/000.scss defined in bundle 'web.assets_frontend' */
 .s_features_grid{&_content{overflow: hidden; p{margin-bottom: 0;}}&_icon{float: left; margin-right: $grid-gutter-width/2;}}

/* /website/static/src/snippets/s_tabs/001.scss defined in bundle 'web.assets_frontend' */
// Tabs .s_tabs[data-vcss="001"]{.s_tabs_content{&.s_tabs_slide_up, &.s_tabs_slide_down, &.s_tabs_slide_left, &.s_tabs_slide_right{> .tab-pane.fade{transition: all 0.2s;}> .tab-pane.fade.show{transform: translateX(0rem) translateY(0rem);}}&.s_tabs_slide_up > .tab-pane.fade{transform: translateY(-1rem);}&.s_tabs_slide_down > .tab-pane.fade{transform: translateY(1rem);}&.s_tabs_slide_left > .tab-pane.fade{transform: translateX(-1rem);}&.s_tabs_slide_right > .tab-pane.fade{transform: translateX(1rem);}}}

/* /website/static/src/snippets/s_table_of_content/000.scss defined in bundle 'web.assets_frontend' */
.s_table_of_content:not([data-vcss]){.s_table_of_content_navbar_wrap{&.s_table_of_content_navbar_sticky{&.s_table_of_content_horizontal_navbar, &.s_table_of_content_vertical_navbar .s_table_of_content_navbar{@include o-position-sticky($top: 0px);}}&:not(.s_table_of_content_navbar_sticky){&, .s_table_of_content_navbar{top: 0px !important;}}&.s_table_of_content_vertical_navbar .s_table_of_content_navbar{overflow-wrap: break-word; > a.list-group-item-action{background: none; color: inherit; opacity: 0.7; font-weight: $font-weight-normal + 100; padding-left: 3px; transition: padding 0.1s; &:before{@include o-position-absolute(10px, auto, 10px, 0); width: 2px; content: "";}&:hover{opacity: 1;}&:focus{background: none;}&.active{background: none; padding-left: 8px; opacity: 1; &:before{background-color: theme-color('primary');}}}}&.s_table_of_content_horizontal_navbar{z-index: 1; padding-top: $navbar-padding-y; padding-bottom: $navbar-padding-y; margin-bottom: $spacer * 2; .s_table_of_content_navbar{display: inline; > a{&.list-group-item-action{width: auto;}&.list-group-item{display: inline-block; margin-bottom: 2px;}}}}}}

/* /website/static/src/snippets/s_quotes_carousel/001.scss defined in bundle 'web.assets_frontend' */
.s_quotes_carousel_wrapper[data-vcss='001']{.s_blockquote{margin-bottom: 0; @include media-breakpoint-down(sm){width: 100% !important; // TODO add the right class in the xml when it's possible}}}

/* /website/static/src/snippets/s_masonry_block/001.scss defined in bundle 'web.assets_frontend' */
.s_masonry_block[data-vcss='001'] .row > div{display: flex; flex-direction: column; justify-content: center;}

/* /website/static/src/snippets/s_media_list/001.scss defined in bundle 'web.assets_frontend' */
.s_media_list[data-vcss="001"]{.s_media_list_item > .row{overflow: hidden; // To support rounded option}.s_media_list_body{padding: $spacer * 2;}.s_media_list_img{object-fit: cover;}}

/* /website/static/src/snippets/s_timeline/000.scss defined in bundle 'web.assets_frontend' */
.s_timeline{.s_timeline_line{position: relative; &:before{content: ''; display: block !important; // override portal '#wrap .container' value position: absolute; width: 1px; top: 0px; bottom: 0px; left: 50%; background-color: gray('800');}}.s_timeline_row{align-items: center; .s_timeline_content{align-items: center; justify-content: flex-end; width: 100%; ~ .s_timeline_content{justify-content: flex-start;}}&.flex-row-reverse{.s_timeline_content{flex-direction: row-reverse;}}@include media-breakpoint-up(md){&.flex-row-reverse{.s_timeline_content{flex-direction: row-reverse; &:not(:last-child){margin-left: 10%;}}}&:not(.flex-row-reverse){.s_timeline_content:last-child{margin-left: 10%;}}}}.s_timeline_date{@include media-breakpoint-up(md){position: absolute; left: 0%; right: 0%;}@include media-breakpoint-down(sm){position: relative; margin: 20px 0px;}span:not(.fa){display: inline-block; padding: 5px;}.fa{margin: 0 $grid-gutter-width/2;}text-align: center;}.s_timeline_icon{flex: 0 0 auto; margin: $grid-gutter-width/2; z-index: 1;}}

/* /website/static/src/snippets/s_process_steps/000.scss defined in bundle 'web.assets_frontend' */
.s_process_steps{.s_process_step_icon{margin: $grid-gutter-width 0; span{display: block; overflow: hidden;}.fa{display: block;}}.s_process_step_content{padding: 0 $grid-gutter-width/2;}@include media-breakpoint-up(lg){overflow-x: hidden; .s_process_step{.s_process_step_icon{position: relative; z-index: 1; span:after{content: ''; z-index: -1; border-top: 1px solid gray('500'); @include o-position-absolute(50%, 0, 0, auto);}}.s_process_step_icon{span:after{width: 100%;}}&:first-child .s_process_step_icon, &:last-child .s_process_step_icon{span:after{width: 50%;}}&:first-child .s_process_step_icon{.fa:after{right: 0;}.fa.float-right:after{width: 0;}}&:last-child .s_process_step_icon{span:after{left: 0;}.fa{&:after{left: 0;}&.float-left:after{width: 0;}}}}}}

/* /website/static/src/snippets/s_text_highlight/000.scss defined in bundle 'web.assets_frontend' */
.s_text_highlight{padding: 1.5rem; border-radius: $border-radius; :last-child{margin-bottom: 0;}}

/* /website/static/src/snippets/s_blockquote/000.scss defined in bundle 'web.assets_frontend' */
.s_blockquote{// Reset border: 0; padding: 0; .s_blockquote_icon{font-size: $font-size-base;}.s_blockquote_author{opacity: .75;}// Classic &.s_blockquote_classic{.s_blockquote_icon{float: left; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; &.float-right{border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important;}}.s_blockquote_content{overflow: hidden; padding: $spacer * 1.5; .blockquote-footer{&::before{content: '';}.s_blockquote_avatar{max-height: $spacer * 2.5;}}}}// Cover &.s_blockquote_cover{text-align: center; .s_blockquote_icon{position: relative; z-index: 1; float: none; margin-bottom: -$spacer * 1.5;}p:last-of-type{margin-bottom: $spacer * .5;}.s_blockquote_content, .s_blockquote_filter{// s_blockquote_filter is there for compatibility padding: $spacer * 3 $spacer * 2 $spacer * 2;}// Compatibility .s_blockquote_filter{margin: $spacer * -3 $spacer * -2 $spacer * -2;}.quote_char{margin: $spacer * 2 0 $spacer 0; & ~ .blockquote-footer{padding-bottom: $spacer * 2;}}}// Minimalist &.s_blockquote_minimalist{border-left: 5px solid; border-color: o-color('secondary'); .s_blockquote_content{padding: $spacer; @include border-right-radius($border-radius); p:last-of-type{margin-bottom: 0;}}}}

/* /website/static/src/snippets/s_badge/000.scss defined in bundle 'web.assets_frontend' */
 .s_badge{padding: $s-badge-padding; margin: $s-badge-margin; border-radius: if($s-badge-border-radius != null, $s-badge-border-radius, $badge-border-radius); font-size: $font-size-sm; .fa{margin: $s-badge-i-margin;}}

/* /website/static/src/snippets/s_color_blocks_2/000.scss defined in bundle 'web.assets_frontend' */
.s_color_blocks_2{// Needed to be able to stretch the inner container so that // the snippet works with the 50% and 100% height &.o_half_screen_height, &.o_full_screen_height{> :first-child{// container &, > .row{min-height: inherit;}}}.row{display: flex; flex-flow: row wrap; // Fix for safari browser as it 'supports' flex but not with the right // behavior &::before, &::after{width: 0;}}[class*="col-lg-"]{padding: 8% 5%; padding-top: 8vw; // A flex item cannot have % padding top and bottom (even if it works on chrome) padding-bottom: 8vw; // Solution is vw units but we keep 8% as a fallback}@include media-breakpoint-down(md){[class*="col-lg-"]{flex: 1 1 100%;}}img{max-width: 100%; height: auto;}}

/* /website/static/src/snippets/s_product_list/000.scss defined in bundle 'web.assets_frontend' */
 .s_product_list{padding-top: 20px; > div > .row > div{margin-bottom: 20px; // without this style the columns go directly to the top of the bellow ones. height: 200px; text-align: center; a{display: block;}img{margin: auto; max-height: 130px; @include s-product-list-img-hook;}.s_product_list_item_link{@include o-position-absolute($left: 10%, $bottom: 0, $right: 10%); > .btn{width: 100%; padding: 5px !important; font-size: 16px; @media only screen and (max-width : 1280px){// FIXME font-size: 12px;}.fa{font-size: 18px; padding-right: 5px; @media only screen and (max-width : 1024px){// FIXME display: block; font-size: 25px;}}}}}}

/* /website/static/src/snippets/s_google_map/000.scss defined in bundle 'web.assets_frontend' */
 $s-google-map-desc-bg: theme-color('primary') !default; $s-google-map-desc-alpha: 0.80 !default; $s-google-map-desc-hover-bg: theme-color('primary') !default; $s-google-map-desc-hover-alpha: 0.55 !default; .s_google_map{position: relative; min-height: 100px; .map_container{@include o-position-absolute(0, 0, 0, 0);}.description{@include o-position-absolute(auto, 0, 0, 0); z-index: 99; padding: 0 1em; background: rgba($s-google-map-desc-bg, $s-google-map-desc-alpha); color: color-yiq(rgba($s-google-map-desc-bg, $s-google-map-desc-alpha)); transition: background-color 250ms ease; font{float: left; margin-top: 20px; margin-bottom: 15px; font-weight: bold; text-transform: uppercase;}span{float: left; text-transform: none; font-weight: normal; margin-top: 20px; margin-left: 10px;}}&:hover .description{background: $s-google-map-desc-hover-bg; background: rgba($s-google-map-desc-hover-bg, $s-google-map-desc-hover-alpha); color: color-yiq(rgba($s-google-map-desc-hover-bg, $s-google-map-desc-hover-alpha));}}

/* /website/static/src/snippets/s_dynamic_snippet/000.scss defined in bundle 'web.assets_frontend' */
.s_dynamic{[data-url]{cursor: pointer;}.card-img-top{height: 12rem;}img{object-fit: scale-down;}}

/* /website/static/src/snippets/s_dynamic_snippet_carousel/000.scss defined in bundle 'web.assets_frontend' */
.s_dynamic{.carousel-control-prev, .carousel-control-next{position: absolute; width: 4rem; > span.fa{color: gray('700'); background: radial-gradient($white 50%, transparent 50%);}}}

/* /website/static/src/snippets/s_btn/000.scss defined in bundle 'web.assets_frontend' */
 .s_btn{.btn + .btn{margin-left: .75rem;}}

/* /website_mail/static/src/css/website_mail.scss defined in bundle 'web.assets_frontend' */
.js_follow[data-follow='on'] .js_follow_btn , .js_follow[data-follow='off'] .js_unfollow_btn{display: none;}.js_follow_icons_container{.js_follow_btn, .js_unfollow_btn{animation: js_follow_fade 1s ease forwards; opacity: 0; small{opacity: 0; transition: opacity 0.3s ease;}@include hover-focus (){small{transition-duration: 1s; opacity: 1;}};}.fa:before{content: "\f0f3"; color: $text-muted;}.js_follow_btn:hover .fa:before{color: $body-color;}.js_unfollow_btn .fa:before{color: theme-color('primary');}.js_unfollow_btn:hover .fa:before{content: "\f1f6"; color: theme-color('danger');}}@keyframes js_follow_fade{to{opacity: 1;}}

/* /website_form/static/src/snippets/s_website_form/001.scss defined in bundle 'web.assets_frontend' */
.editor_enable .s_website_form[data-vcss="001"]{// Hidden field is only partially hidden in editor .s_website_form_field_hidden{display: block; opacity: 0.5;}// Select inputs do not trigger the default browser behavior // Since we use a custom editable element .s_website_form_field select{pointer-events: none;}// Display the editable select as a single big field #editable_select.form-control{height: auto;}}.s_website_form[data-vcss="001"]{.s_website_form_label{@include media-breakpoint-down(xs){width: auto !important;}}.s_website_form_field_hidden{display: none;}span.s_website_form_mark{font-size: 0.85em; font-weight: 400;}.s_website_form_dnone{display: none;}// The snippet editor uses padding and not margin. // This will include bootstrap margin in the dragable y axes .s_website_form_rows > .form-group{margin-bottom: 0; padding-top: 0.5rem; padding-bottom: 0.5rem;}.s_website_form_submit, .s_website_form_recaptcha{.s_website_form_label{float: left; height: 1px;}}.s_website_form_no_submit_label{.s_website_form_label{display: none;}}}

/* /website_sale/static/src/scss/website_sale.scss defined in bundle 'web.assets_frontend' */
// Prevent grid gutter to be higher that bootstrap gutter width to make sure // the negative margin layout does not overflow on elements. This prevents the // use of an ugly overflow: hidden which would break box-shadows. $o-wsale-products-layout-grid-gutter-width: $grid-gutter-width / 2 !default; $o-wsale-products-layout-grid-gutter-width: min($grid-gutter-width / 2, $o-wsale-products-layout-grid-gutter-width); @mixin wsale-break-table-to-list(){.o_wsale_products_grid_table_wrapper > table, .o_wsale_products_grid_table_wrapper > table > tbody, .o_wsale_products_grid_table_wrapper > table > tbody > tr, .o_wsale_products_grid_table_wrapper > table > tbody > tr > td{display: block; width: 100%;}}.oe_website_sale{ul ul{margin-left: 1.5rem;}.o_payment_form .card{border-radius: 4px !important;}.address-inline address{display: inline-block;}table#cart_products tr td, table#suggested_products tr td{vertical-align: middle;}table#cart_products{margin-bottom: 0; td, th{&:first-child{padding-left: $grid-gutter-width*0.5;}}}h1[itemprop="name"], .td-product_name{word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;}@include media-breakpoint-down(sm){.td-img{display: none;}}.toggle_summary_div{@include media-breakpoint-up(xl){max-width: 400px;}}input.js_quantity{min-width: 48px; text-align: center;}input.quantity{padding: 0;}}.o_alternative_product{margin: auto;}// Base style for a product card with image/description .oe_product_cart{.oe_product_image{height: 0; text-align: center; img{height: 100%; width: 100%; object-fit: scale-down;}}.o_wsale_product_information{position: relative; flex: 0 0 auto; transition: .3s ease;}.oe_subdescription{max-height: 0; overflow: hidden; font-size: $font-size-sm; margin-bottom: map-get($spacers, 1); transform: scale(1, 0); transition: all ease 0.3s;}.o_wsale_product_btn{@include o-position-absolute(auto, 0, 100%, 0); padding-bottom: map-get($spacers, 1); .btn{transform: scale(0); transition: transform ease 200ms 0s;}&:empty{display: none !important;}}&:hover{box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1); .o_wsale_product_information{background-color: gray('200') !important;}.oe_subdescription{max-height: $line-height-base * 1em; // Max 1 line @include media-breakpoint-up(lg){max-height: $line-height-base * 2em; // Max 2 lines}@include media-breakpoint-up(xl){max-height: $line-height-base * 3em; // Max 3 lines}}.oe_subdescription, .o_wsale_product_btn .btn{transform: scale(1);}}@include media-breakpoint-down(sm){&, &:hover{.oe_subdescription{max-height: $line-height-base * 3em; // Max 3 lines}}.oe_subdescription, .o_wsale_product_btn .btn{transform: scale(1);}}}// Options relative to where the product card is put .oe_product{// Image full option &.oe_image_full{.oe_product_image{@include border-bottom-radius($card-inner-border-radius);}.o_wsale_product_information{@include o-position-absolute(auto, 0, 0, 0); // The wrapper is always relatively positioned}}}#products_grid{.o_wsale_products_grid_table_wrapper > .table{table-layout: fixed; > tbody{> tr > td{margin-top: $o-wsale-products-layout-grid-gutter-width; // For list and mobile design padding: 0; @if $o-wsale-products-layout-grid-gutter-width <= 0{border: $card-border-width solid $card-border-color;}}> tr:first-child > td:first-child{margin-top: 0; // For list and mobile design}}.o_wsale_product_grid_wrapper{position: relative; @for $x from 1 through 4{@for $y from 1 through 4{&.o_wsale_product_grid_wrapper_#{$x}_#{$y}{padding-top: 100% * $o-wsale-products-layout-grid-ratio * $y / $x;}}}> *{$-pos: ($o-wsale-products-layout-grid-gutter-width / 2); @include o-position-absolute($-pos, $-pos, $-pos, $-pos); @if $o-wsale-products-layout-grid-gutter-width <= 0{&.card{border: none; &, .card-body{border-radius: 0;}}}}}}.o_wsale_products_grid_table_wrapper{// Necessary to compensate the outer border-spacing of the table. No // overflow will occur as the gutter width cannot be higher than the // BS4 grid gutter and the vertical margins of the wrapper's parent are // set accordingly. // Note: a possible layout could also be ok by removing the wrapper // related spacings and setting a background to it, thus including the // outer border spacing as part of the design. margin: (-$o-wsale-products-layout-grid-gutter-width / 2);}@include media-breakpoint-down(sm){@include wsale-break-table-to-list(); .table .o_wsale_product_grid_wrapper{padding-top: 100% !important;}}&.o_wsale_layout_list{@include media-breakpoint-up(sm){@include wsale-break-table-to-list(); .o_wsale_products_grid_table_wrapper{margin: 0;}.table .o_wsale_product_grid_wrapper{padding-top: 0 !important; > *{@include o-position-absolute(0, 0, 0, 0); position: relative;}}.oe_product_cart{$-wsale-list-layout-height: 10rem; flex-flow: row nowrap; min-height: $-wsale-list-layout-height; .oe_product_image{flex: 0 0 auto; width: $-wsale-list-layout-height; max-width: 35%; min-width: 100px; height: auto;}.o_wsale_product_information{position: static; display: flex; flex: 1 1 auto; text-align: left !important;}.o_wsale_product_information_text{flex: 1 1 auto;}.o_wsale_product_btn{flex: 0 0 auto; position: static; display: flex; flex-flow: column nowrap; align-items: center; padding: map-get($spacers, 2); background-color: gray('200'); .btn + .btn{margin-top: map-get($spacers, 2);}}.oe_subdescription{max-height: none !important;}.oe_subdescription, .o_wsale_product_btn .btn{transform: scale(1) !important;}&:hover{.o_wsale_product_information{background-color: $white !important;}}.o_ribbon_right{@include o-ribbon-left();}.o_tag_right{@include o-tag-left();}}}}}.o_wsale_products_main_row{// Special case. Normally vertical margins would be set using the BS4 // mt-* / my-* / mb-* utility classes, but here we need to use the shop max // grid gutter width to prevent the grid wrapper to overflow because of its // negative margins. margin-top: $grid-gutter-width / 2; margin-bottom: $grid-gutter-width / 2;}.oe_cart{table td:first-child{min-width: 76px;}> .oe_structure{clear: both;}}div#payment_method{div.list-group{margin-left: 40px;}.list-group-item{padding-top: 5px; padding-bottom: 5px;}}ul.wizard{padding: 0; margin-top: 20px; list-style: none outside none; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.065); li{border: 1px solid gray('200'); border-right-width: 0; position: relative; float: left; padding: 0 10px 0 20px; margin: 0; line-height: 38px; background: #fbfbfb; .chevron{position: absolute; top: 0; right: -10px; z-index: 1; display: block; border: 20px solid transparent; border-right: 0; border-left: 10px solid gray('200');}.chevron:before{position: absolute; top: -20px; right: 1px; display: block; border: 20px solid transparent; border-right: 0; border-left: 10px solid #fbfbfb; content: "";}.o_link_disable{text-decoration: none; color: inherit; cursor: text;}&.text-success{background: #f3f4f5;}&.text-success .chevron:before{border-left: 10px solid #f5f5f5;}&.text-primary{background: #f1f6fc;}&.text-primary .chevron:before{border-left: 10px solid #f1f6fc;}&:first-child{padding-left: 15px; border-radius: 4px 0 0 4px;}&:last-child{border-radius: 0 4px 4px 0; border-right-width: 1px; .chevron{display: none;}}}}#o_shop_collapse_category li{width: 100%; a{display: inline-block; width: 80%; padding-left: 3px;}i.fa{cursor: pointer;}}.mycart-popover{max-width: 500px; min-width: 250px; max-height: 90%; overflow-x: hidden; overflow-y: auto; .cart_line{border-bottom: 1px #EEE solid;}}tr#empty{display: none;}.js_change_shipping{cursor: pointer;}a.no-decoration{cursor: pointer; text-decoration: none !important;}#o-carousel-product{&.css_not_available{opacity: 0.2;}.carousel-outer{height: 400px; max-height: 90vh; .carousel-inner{img{height: 100%; width: 100%; object-fit: scale-down;}}}.carousel-control-prev, .carousel-control-next{height: 70%; top: 15%; opacity: 0.5; cursor: pointer; &:focus{opacity: 0.65;}&:hover{opacity: 0.8;}> span{background: rgba(0, 0, 0, 0.8);}}.carousel-indicators{li{width: 64px; height: 64px; text-indent: unset; border: 1px solid gray('600'); opacity: 0.5; position: relative; .o_product_video_thumb{@include o-position-absolute($top: 50%, $left: 50%); transform: translate(-50%, -50%); color: gray('400');}&.active{opacity: 1; border: 1px solid theme-color('primary');}}}}.ecom-zoomable{&:not(.ecom-autozoom){img[data-zoom]{cursor: zoom-in;}}&.ecom-autozoom{img[data-zoom]{cursor: crosshair;}}.o_editable img[data-zoom]{cursor: pointer;}}#coupon_box form{max-width: 300px;}.o_website_sale_animate{opacity: 0.7; position: absolute !important; height: 150px; width: 150px; z-index: 1020;}.o_red_highlight{background: theme-color('danger') !important; box-shadow: 0 0 0 0 rgba(240,8,0,0.4); transition: all 0.5s linear;}.o_shadow_animation{box-shadow: 0 0 5px 10px rgba(240,8,0,0.4)!important;}.o_carousel_product_card{.o_carousel_product_card_img_top{object-fit: scale-down; @include media-breakpoint-down(sm){height: 12rem;}@include media-breakpoint-up(md){height: 8rem;}@include media-breakpoint-up(lg){height: 12rem;}}.o_carousel_product_img_link:hover + .o_carousel_product_remove{display: block;}}.o_carousel_product_card_wrap{@include media-breakpoint-up(sm){float: left;}}.o_carousel_product_control{top: percentage(1/3); bottom: percentage(1/3); width: 2rem; border-radius: 5px; background-color: $o-enterprise-primary-color;}.o_carousel_product_remove{position: absolute; display: none; cursor: pointer; right: 5%; top: 5%;}.o_carousel_product_remove:hover{display: block;}

/* /website_sale/static/src/scss/website_mail.scss defined in bundle 'web.assets_frontend' */
 .oe_msg{img.oe_msg_avatar{width: 50px; margin-right: 10px;}}.oe_msg_attachment{display: inline-block; width: 120px; margin: 4px 2px; min-height: 80px; position: relative; border-radius: 3px; text-align: center; vertical-align: top; a{img.oe_attachment_embedded{display: block; position: relative; margin: 0 0 0 10px; width: 100px; height: 80px; border-radius: 1px; border: solid 3px #FFF; -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19); -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19);}div.oe_attachment_name{display: inline-block; max-width: 100%; padding: 1px 3px; margin-top: 2px; margin-bottom: 5px; background: #F4F5FA; overflow: hidden; color: #4c4c4c; text-shadow: none; border-radius: 3px; word-wrap: break-word;}}}

/* /website_sale/static/src/scss/website_sale_frontend.scss defined in bundle 'web.assets_frontend' */
//## Website Sale frontent design //## ---------------------------- // Theming variables $o-wsale-wizard-thickness: 0.125rem; $o-wsale-wizard-dot-size: 0.625rem; $o-wsale-wizard-dot-active-glow: 0.25rem; $o-wsale-wizard-color-inner: white; $o-wsale-wizard-color-default: gray('200'); $o-wsale-wizard-dot-active: theme-color('primary'); $o-wsale-wizard-dot-completed: theme-color('success'); $o-wsale-wizard-label-default: $text-muted; $o-wsale-wizard-label-active: $body-color; $o-wsale-wizard-label-completed: $success; .progress-wizard{// Scoped variables $tmp-dot-radius: ($o-wsale-wizard-dot-size + $o-wsale-wizard-thickness)*0.5; $tmp-check-size: max($font-size-base, $o-wsale-wizard-dot-size + $o-wsale-wizard-thickness + $o-wsale-wizard-dot-active-glow*2); $tmp-check-pos: $o-wsale-wizard-dot-size*0.5 - $tmp-check-size*0.5; margin-top: $grid-gutter-width*0.5; padding: 0 $grid-gutter-width*0.5; @include media-breakpoint-up(md){padding: 0;}.progress-wizard-step{position: relative; @include media-breakpoint-up(md){margin-top: $tmp-dot-radius + $o-wsale-wizard-thickness*3.5; float: left; width: percentage(1/3); .o_wizard_has_extra_step + &{width: percentage(1/4);}}@include media-breakpoint-down(sm){&.disabled, &.complete{display:none;}}.progress-wizard-dot{width: $o-wsale-wizard-dot-size; height: $o-wsale-wizard-dot-size; position: relative; display: inline-block; background-color: $o-wsale-wizard-color-inner; border-radius: 50%; box-shadow: 0 0 0 $o-wsale-wizard-thickness $o-wsale-wizard-color-default; @include media-breakpoint-up(md){@include o-position-absolute($left: 50%); margin: (-$tmp-dot-radius) 0 0 (-$o-wsale-wizard-dot-size*0.5);}}.progress-wizard-steplabel{color: $o-wsale-wizard-label-default; margin: 5px 0 5px 5px; font-size: $font-size-base; display: inline-block; @include media-breakpoint-up(md){display: block; margin: (0.625rem + $tmp-dot-radius) 0 20px 0;}@include media-breakpoint-down(sm){margin-left: -15px; font-size: 24px;}}.progress-wizard-bar{height: $o-wsale-wizard-thickness; background-color: $o-wsale-wizard-color-default;}&.active{.progress-wizard-dot{animation: fadeIn 1s ease 0s 1 normal none running; background: $o-wsale-wizard-dot-active; box-shadow: 0 0 0 ($o-wsale-wizard-dot-active-glow - 0.0625rem) $o-wsale-wizard-color-inner, 0 0 0 $o-wsale-wizard-dot-active-glow rgba($o-wsale-wizard-dot-active, 0.5);}.progress-wizard-steplabel{color: $o-wsale-wizard-label-active; font-weight: bolder;}}&.complete{.progress-wizard-dot{background: none; box-shadow: none; &:after{@include o-position-absolute($tmp-check-pos, $left: $tmp-check-pos); width: $tmp-check-size; height: $tmp-check-size; border-radius: 100%; background: $o-wsale-wizard-color-inner; color: $o-wsale-wizard-dot-completed; text-align: center; line-height: 1; font-size: $tmp-check-size; font-family: FontAwesome; content: "\f058";}}.progress-wizard-steplabel{color: $o-wsale-wizard-label-completed;}&:hover:not(.disabled){.progress-wizard-dot:after{color: $o-wsale-wizard-label-completed;}.progress-wizard-steplabel{color: $o-wsale-wizard-label-active;}}}&.disabled{cursor: default;}}}

/* /sale/static/src/scss/sale_portal.scss defined in bundle 'web.assets_frontend' */
 .orders_vertical_align{display: flex; align-items: center;}.orders_label_text_align{vertical-align: 15%;}.sale_tbody .o_line_note{word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;}.sale_tbody input.js_quantity{min-width: 48px; text-align: center;}.sale_tbody div.input-group.w-50.pull-right{width: 100% !important;}.o_portal .sale_tbody .js_quantity_container{.js_quantity{padding: 0;}.input-group-text{padding: 0.2rem 0.4rem;}@include media-breakpoint-down(sm){width: 100%;}}

/* /sale/static/src/scss/product_configurator.scss defined in bundle 'web.assets_frontend' */
.css_attribute_color{display: inline-block; border: 1px solid #999999; text-align: center; input{margin: 8px; height: 13px; opacity: 0;}&.active{border: 3px ridge #66ee66;}&.active input{margin: 6px;}&.custom_value{background-image: linear-gradient(to bottom right, #FF0000, #FFF200, #1E9600);}}.css_not_available_msg{display: none;}.css_not_available.js_product{.css_quantity, .product_price{display: none;}.css_not_available_msg{display: block;}.js_add, .oe_price, .oe_default_price, .oe_optional{display: none;}}.css_quantity{width: initial; // We don't want the quantity form to be full-width input[name="add_qty"]{max-width: 50px; text-align: center;}}option.css_not_available{color: #ccc;}label.css_not_available{opacity: 0.6;}label.css_attribute_color.css_not_available{opacity: 1; background-image: url("/website_sale/static/src/img/redcross.png"); background-size: cover;}.variant_attribute{padding-bottom: 0.5rem; .attribute_name{padding-bottom: 0.5rem; display: block;}.radio_input{margin-right: 0.7rem; vertical-align: middle;}.radio_input_value{display: inline-block; vertical-align: middle; line-height: 1;}.variant_custom_value{margin-bottom: 0.7rem; &.custom_value_own_line{display: inline-block;}}.custom_value_radio{margin: 0.3rem 0rem 0.3rem 1.6rem;}select{margin-bottom: 0.5rem;}}.o_product_configurator{.product_detail_img{max-height: 240px;}.variant_attribute{.custom_value_radio{margin: 0.3rem 0rem 0.3rem 2.1rem;}}}.oe_optional_products_modal{.table-striped tbody tr:nth-of-type(odd){background-color: rgba(0, 0, 0, 0.025);}.o_total_row{font-size: 1.2rem;}}.modal.o_technical_modal .oe_optional_products_modal .btn.js_add_cart_json{padding: 0.075rem 0.75rem;}.js_product{&.in_cart{.js_add_cart_variants{display: none;}}select{-webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; background-image: none;}.td-product_name{word-wrap: break-word;}.td-product_name{min-width: 140px;}.td-img{width: 100px;}.td-qty{width: 200px; a.input-group-addon{background-color: transparent; border: 0px;}.input-group{display: inline-flex;}}.td-action{width: 30px;}.td-price, .td-price-total{width: 120px;}@include media-breakpoint-down(sm){.td-img, .td-price-total{display: none;}.td-qty{width: 60px;}.td-price{width: 80px;}}@media (max-width: 476px){.td-qty{width: 60px;}#modal_optional_products table thead, .oe_cart table thead{display: none;}#modal_optional_products table td.td-img, .oe_cart table td.td-img{display: none;}}}.o_total_row{height: 50px;}.oe_striked_price{text-decoration: line-through; white-space: nowrap;}.o_list_view{.o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier){.o_field_widget .o_edit_product_configuration{padding: 0; background-color: inherit; margin-left: 3px;}}}

/* /sale/static/src/scss/product_configurator.scss defined in bundle 'web.assets_frontend' */
.css_attribute_color{display: inline-block; border: 1px solid #999999; text-align: center; input{margin: 8px; height: 13px; opacity: 0;}&.active{border: 3px ridge #66ee66;}&.active input{margin: 6px;}&.custom_value{background-image: linear-gradient(to bottom right, #FF0000, #FFF200, #1E9600);}}.css_not_available_msg{display: none;}.css_not_available.js_product{.css_quantity, .product_price{display: none;}.css_not_available_msg{display: block;}.js_add, .oe_price, .oe_default_price, .oe_optional{display: none;}}.css_quantity{width: initial; // We don't want the quantity form to be full-width input[name="add_qty"]{max-width: 50px; text-align: center;}}option.css_not_available{color: #ccc;}label.css_not_available{opacity: 0.6;}label.css_attribute_color.css_not_available{opacity: 1; background-image: url("/website_sale/static/src/img/redcross.png"); background-size: cover;}.variant_attribute{padding-bottom: 0.5rem; .attribute_name{padding-bottom: 0.5rem; display: block;}.radio_input{margin-right: 0.7rem; vertical-align: middle;}.radio_input_value{display: inline-block; vertical-align: middle; line-height: 1;}.variant_custom_value{margin-bottom: 0.7rem; &.custom_value_own_line{display: inline-block;}}.custom_value_radio{margin: 0.3rem 0rem 0.3rem 1.6rem;}select{margin-bottom: 0.5rem;}}.o_product_configurator{.product_detail_img{max-height: 240px;}.variant_attribute{.custom_value_radio{margin: 0.3rem 0rem 0.3rem 2.1rem;}}}.oe_optional_products_modal{.table-striped tbody tr:nth-of-type(odd){background-color: rgba(0, 0, 0, 0.025);}.o_total_row{font-size: 1.2rem;}}.modal.o_technical_modal .oe_optional_products_modal .btn.js_add_cart_json{padding: 0.075rem 0.75rem;}.js_product{&.in_cart{.js_add_cart_variants{display: none;}}select{-webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; background-image: none;}.td-product_name{word-wrap: break-word;}.td-product_name{min-width: 140px;}.td-img{width: 100px;}.td-qty{width: 200px; a.input-group-addon{background-color: transparent; border: 0px;}.input-group{display: inline-flex;}}.td-action{width: 30px;}.td-price, .td-price-total{width: 120px;}@include media-breakpoint-down(sm){.td-img, .td-price-total{display: none;}.td-qty{width: 60px;}.td-price{width: 80px;}}@media (max-width: 476px){.td-qty{width: 60px;}#modal_optional_products table thead, .oe_cart table thead{display: none;}#modal_optional_products table td.td-img, .oe_cart table td.td-img{display: none;}}}.o_total_row{height: 50px;}.oe_striked_price{text-decoration: line-through; white-space: nowrap;}.o_list_view{.o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier){.o_field_widget .o_edit_product_configuration{padding: 0; background-color: inherit; margin-left: 3px;}}}

/* /website_sale_product_configurator/static/src/scss/website_sale_options.scss defined in bundle 'web.assets_frontend' */
.css_not_available.js_product{> *:nth-child(5) > *{display: none;}}div#modal_optional_products table tr td{border: 0;}@include media-breakpoint-down(sm){div#modal_optional_products .td-qty{display: none;}}

/* /website_sale_delivery/static/src/scss/website_sale_delivery.scss defined in bundle 'web.assets_frontend' */
@include media-breakpoint-down(sm){.o_wsale_delivery_badge_price{max-width: 130px; text-overflow: ellipsis; overflow: hidden;}}#delivery_method .o_delivery_carrier_select:hover{cursor: pointer;}

/* /website_links/static/src/css/website_links.css defined in bundle 'web.assets_frontend' */
.no-link-style{color: black; text-decoration: none;}.required-form-control{background-color: #CECDFF;}#filters li a, #filters li.active a, #filters li.active a.active, #filters li.active a:hover, #filters li.active a:focus, #filters li a:hover{padding: 0px 5px; border-radius: 0px; border: 0px; border-color: transparent; border-right: 1px solid #999; padding-bottom: 0; background-color: #FFFFFF;}#filters li.active a{color: #999;}#filters li:last-child a, #filters li:last-child a:hover, #filters li:last-child a:focus{border-right: 0px;}.nav-tabs-inline{font-size: 14px;}#o_website_links_recent_links{min-height:30em;}.o_website_links_code_error{display:none; color:red; font-weight:bold;}.truncate_text{white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: 500px;}

/* /portal_rating/static/src/scss/portal_rating.scss defined in bundle 'web.assets_frontend' */
 $o-w-rating-star-color: #FACC2E; .o_website_rating_static{color: $o-w-rating-star-color;}.o_website_rating_card_container{.o_message_counter{color: gray('700');}table.o_website_rating_progress_table{width: 100%; overflow: visible; .o_website_rating_table_star_num{min-width: 50px; white-space: nowrap;}.o_website_rating_select[style*="opacity: 1"]{cursor: pointer;}.o_website_rating_table_progress{min-width: 120px; > .progress{margin-bottom: 5px; margin-left: 5px; margin-right: 5px;}.o_rating_progressbar{background-color: $o-w-rating-star-color;}}.o_website_rating_table_percent{text-align: right; padding-left: 5px; font-size: $font-size-sm;}.o_website_rating_table_reset{.o_website_rating_select_text{visibility: hidden;}}}}.o_rating_star_card{margin-bottom: 5px; .stars{display: inline-block; color: #FACC2E; margin-right: 15px;}.stars i{margin-right: -3px; text-align: center;}.stars.enabled{cursor: pointer;}.rate_text{display: inline-block;}}.o_rating_popup_composer{.o_rating_clickable{cursor: pointer;}.o_portal_chatter_avatar{margin-right: 10px;}}.o_rating_popup_composer_label{color: color-yiq(white);}

/* /sh_backmate_theme_adv/static/src/scss/login_page/login_style_1.scss defined in bundle 'web.assets_frontend' */
 @if $is_used_google_font == True{{unquote($body_google_font_family)}"); $body_font_family: $body_google_font_family;}@if $login_page_style == "style_1"{body.bg-100,body.bg-100 .o_database_list.card{font-family: $body_font_family !important;}body.bg-100 .card .card-body input:-webkit-autofill, body.bg-100 .card .card-body input:-webkit-autofill:hover, body.bg-100 .card .card-body input:-webkit-autofill:focus, body.bg-100 .card .card-body input:-webkit-autofill:active{-webkit-box-shadow: 0 0 0px 1000px #f5f5f5 inset !important;box-shadow: 0 0 0px 1000px #f5f5f5 inset !important;}body.bg-100 .card .company_name_style_1{color: $primaryColor; font-size: 26px; font-weight: 600; letter-spacing: 0.7px;}body.bg-100 .card .card-body h2{margin-bottom: 50px;}body.bg-100{border-left: 10px solid $primaryColor; border-right: 10px solid $primaryColor;}body.bg-100 .card .card-body #login::placeholder, body.bg-100 .card .card-body #password::placeholder, body.bg-100 .card .card-body .login_user_icon{color: #616161;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{color: #414141; background: #f5f5f5; text-decoration: none; padding: 10px 20px !important; border-radius: 30px; border-bottom: 3px solid #ececec;}@if $login_page_background_type == "bg_color"{body.bg-100 .card .card-body input{padding-left: 0; background-color: transparent; background-repeat: no-repeat; background-position: center bottom, center calc(100% - 1px); background-size: 0 2px, 100% 1px; transition: background 0s ease-out; border-bottom: 1px solid #ccc; border-left: 0px; border-right: 0px; border-top: 0px; padding: 0.429rem 1.072rem; border-radius: 0px;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small{justify-content: flex-start !important;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a{color: #616161; font-weight: 600; letter-spacing: 0.7px; text-decoration: none;}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: #616161 !important;}.bg-100{color: #616161 !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important; display: flex; justify-content: space-between; border: 0 !important;}body.bg-100 .btn.btn-link.btn-sm{color: #616161; padding-top: 15px;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: $login_page_background_color !important;}.bg-100{background-color: $login_page_background_color !important;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important;}body.bg-100 .container.pb-5{padding-top: 2rem;}body.bg-100 .container.mb-5{margin-bottom: 0rem !important;}body.bg-100 .container.pb-5 .mt-5{margin-top: 0rem !important;}body.bg-100 .o_database_list{max-width: 100% !important; border-radius: 10px; overflow: hidden; padding: 0px 25px;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100 .card .card-body .form-control:focus{box-shadow: none;}body.bg-100 .card .card-body .btn-secondary{background-color: #f5f5f5; border-color: #f5f5f5;}body.bg-100 .card .card-body input[type="text"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body input[type="password"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 0px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body .btn-primary{border: none; color: white; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; box-shadow: none; -webkit-border-radius: 30px; border-radius: 30px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: $primaryColor; // width: 125px; padding: 10px 10px; border-bottom: 3px solid darken($primaryColor,10%);}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 0.8rem !important; justify-content: flex-start !important;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a:last-child{color: $primaryColor !important;}}@if $login_page_background_type == "bg_img"{body.bg-100 .card .card-body input{padding-left: 0; background-color: transparent; background-repeat: no-repeat; background-position: center bottom, center calc(100% - 1px); background-size: 0 2px, 100% 1px; transition: background 0s ease-out; border-bottom: 1px solid #ccc; border-left: 0px; border-right: 0px; border-top: 0px; padding: 0.429rem 1.072rem; border-radius: 0px;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: #616161 !important;}.bg-100{color: #616161 !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{color: #616161;}body.bg-100 .btn.btn-link.btn-sm{color: #616161; padding-top: 15px;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a{color: #616161; text-decoration: none;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a:last-child{color: $primaryColor !important;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}body.bg-100{background: linear-gradient(rgba(0, 0, 0, 0.33), rgba(0, 0, 0, 0.5)), url("/web/image?model=sh.back.theme.config.settings&id=1&field=login_page_background_image"); background-repeat: no-repeat; background-size: cover; color: #616161; font-family: $body_font_family !important;}body.bg-100 .container.pb-5{padding-top: 2rem;}body.bg-100 .container.pb-5{padding-bottom: 0px !important;}body.bg-100 .container.pb-5 .mt-5{margin-top: 0rem !important;}body.bg-100 .container.mb-5{margin-bottom: 0rem !important;}body.bg-100 .o_database_list{width: 50%; max-width: 100% !important; border-radius: 10px; overflow: hidden; padding: 0px 25px;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100 .card .card-body .form-control:focus{box-shadow: none;}body.bg-100 .card .card-body input[type="text"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 0px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body input[type="password"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 0px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body .btn-secondary{background-color: #f5f5f5; border-color: #f5f5f5;}body.bg-100 .card .card-body .btn-primary{border: none; color: white; padding: 15px 80px; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; box-shadow: none; -webkit-border-radius: 30px; border-radius: 30px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: $primaryColor; // width: 125px; padding: 10px 10px; border-bottom: 3px solid darken($primaryColor,10%);}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 1rem !important; justify-content: flex-start !important;}}body.bg-100, body.bg-100 .container .bg-100{background: #fff !important;}body.bg-100 .card .card-body .oe_login_form .form-group .input-group-prepend{}body.bg-100 .card .card-body .oe_login_form .form-group .input-group{background: #f5f5f5; padding: 5px 20px; border-radius: 30px; margin-bottom: 25px !important;}body.bg-100 .card .card-body .oe_login_form .form-group .input-group .input-group-prepend{align-items: center;}body.bg-100 .card .card-body .oe_login_form .form-group .input-group .input-group-prepend span{margin-right: 15px;}body.bg-100 .card .card-body .oe_login_form .form-group .input-group input{border: 0 !important; padding-left: 15px; color: #616161;}body.bg-100 .container .oe_login_form .row .col-4{text-align: right;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{letter-spacing: 0.6px; font-weight: 600;}body.bg-100 .container .oe_login_form .oe_login_buttons{margin-bottom: 25px !important;}body.bg-100 .card .card-body .oe_login_form .form-group .input-group .input-group-prepend i{margin-right: 15px; color: #616161;}body.bg-100 .card .card-body .oe_login_form .form-group.field-db .input-group{padding-right: 0; padding-top: 0; padding-bottom: 0;}body.bg-100 .card .card-body .oe_login_form .form-group.field-db .input-group input{padding: 10px 15px;}body.bg-100 .card .card-body .oe_login_form .form-group.field-db .input-group a.btn.btn-secondary{background: $primaryColor !important; line-height: 42px; padding: 0 30px; text-transform: uppercase; font-size: 12px; font-weight: 600; letter-spacing: 0.7px; border: 0px; box-shadow: none; outline: none; color: #fff !important; border-top-right-radius: 30px; border-bottom-right-radius: 30px;}body.bg-100 .card .card-body .btn-primary:not(:disabled):not(.disabled):active, body.bg-100 .card .card-body .btn-primary:not(:disabled):not(.disabled).active, body.bg-100 .card .card-body .show > .btn-primary.dropdown-toggle{background-color: $primaryColor; border-color: $primaryColor;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{display: flex;justify-content: space-between;}@media only screen and (max-width: 576px){@if $login_page_style == "style_1"{body.bg-100, body.bg-100 .container .bg-100{width: 100%;}}}}@media only screen and (max-width: 1024px){@if $login_page_style == "style_1"{body.bg-100 .py-5{padding-top: 0px !important;}body.bg-100 .card .card-body{padding-top: 0px !important;}body.bg-100 .card .card-body h2{margin-bottom: 25px !important;}body.bg-100 .container .oe_login_form .oe_login_buttons{margin-bottom: 10px !important;}}}@media only screen and (max-width: 1024px) and (min-width: 769px){@if $login_page_style == "style_1"{body.bg-100 .o_database_list{top: 26% !important;}}}@media only screen and (max-width: 768px) and (min-width: 577px){@if $login_page_style == "style_1"{body.bg-100 .o_database_list{top: 30% !important;}body.bg-100 .o_database_list{padding: 0px 10px !important;}}}@media only screen and (max-width: 576px) and (min-width: 321px){@if $login_page_style == "style_1"{body.bg-100 .o_database_list{top: 40% !important;}body.bg-100 .container .btn-primary{width: 65px;}body.bg-100 .card .card-body{padding-left: 0px !important;padding-right: 0px !important;}body.bg-100 .o_database_list{padding: 0px 10px !important;}body.bg-100 .card .card-body h2 span.company_name_style_1{font-size: 20px !important;}}}@media only screen and (max-width: 320px){@if $login_page_style == "style_1"{body.bg-100 .o_database_list{top: 45% !important;}body.bg-100 .container .btn-primary{width: 65px;}body.bg-100 .card .card-body{padding-left: 0px !important;padding-right: 0px !important;}body.bg-100 .o_database_list{padding: 0px 10px !important;}body.bg-100 .card .card-body h2 span.company_name_style_1{font-size: 20px !important;}}}@if $login_page_style == "style_1"{body.bg-100 .o_database_list{height: auto !important;min-height: auto !important;}}

/* /sh_backmate_theme_adv/static/src/scss/login_page/login_style_2.scss defined in bundle 'web.assets_frontend' */
@if $login_page_style == "style_2"{body.bg-100,body.bg-100 .o_database_list{font-family: $body_font_family !important;}body.bg-100 a{text-decoration: none !important;}body.bg-100 .o_database_list .justify-content-between.mt-2.d-flex.small{justify-content: center !important;}body.bg-100 .o_database_list .justify-content-between.mt-2.d-flex.small a{color: #919191; padding-top: 15px; font-weight: 600;}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: $primaryColor !important;}.bg-100{color: $primaryColor !important;}body.bg-100 .o_database_list .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important;}body.bg-100 .o_database_list .text-center.small.mt-4.pt-3.border-top a{color: $primaryColor; font-weight: 600; letter-spacing: 0.4px;}body.bg-100 .o_database_list .btn.btn-link.btn-sm{color: $primaryColor; padding-top: 15px;}body.bg-100 .sh_backmate_th_login_left_img_st_2::after{content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; // background-color:#292626; opacity: 0 !important;}// body.bg-100 .sh_backmate_th_login_left_img_st_2::after{// background-color: transparent !important; //}body.bg-100 .sh_backmate_th_login_left_img_st_2{background-position-x: 0% !important; background-position-y: center !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2{background: url("/web/image?model=sh.back.theme.config.settings&id=1&field=login_page_banner_image"); background-repeat: no-repeat; background-size: cover; min-height: 100vh; background-position-x: center; background-position: center;}body.bg-100 .o_database_list.mt-5{margin-top: 0rem !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2.col-lg-6{padding: 0px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 img{width: 100%;}body.bg-100 .container-fluid.pb-5{padding-bottom: 0rem !important;}body.bg-100 .container-fluid.mb-5{margin-bottom: 0rem !important;}body.bg-100 .o_database_list{max-width: 100% !important; border-radius: 0px; box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); padding: 0px 25px;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100{background-color: $login_page_box_color !important;}body.bg-100 .o_database_list .form-control:focus{box-shadow: none;}body.bg-100 .o_database_list input[type="text"]{color: #0d0d0d; text-align: left; font-size: 16px; padding: 10px 10px; background-position: center bottom, center -webkit-calc(100% - 1px); padding-right: 0;padding-left: 0;background-color: transparent;background-repeat: no-repeat;-webkit-background-size: 0 2px, 100% 1px;background-size: 0 2px, 100% 1px;-webkit-transition: background 0s ease-out;-o-transition: background 0s ease-out;transition: background 0s ease-out;border-bottom: 1px solid #ccc;border-left: 0px;border-right: 0px;border-top: 0px;padding: .429rem 1.072rem;border-radius: 0px;}body.bg-100 .o_database_list input[type="password"]{color: #0d0d0d; text-align: left; font-size: 16px; background-position: center bottom, center -webkit-calc(100% - 1px); padding-right: 0;padding-left: 0;background-color: transparent;background-repeat: no-repeat;-webkit-background-size: 0 2px, 100% 1px;background-size: 0 2px, 100% 1px;-webkit-transition: background 0s ease-out;-o-transition: background 0s ease-out;transition: background 0s ease-out;border-bottom: 1px solid #ccc;border-left: 0px;border-right: 0px;border-top: 0px;padding: .429rem 1.072rem;border-radius: 0px;}body.bg-100 .o_database_list input[type="password"]:focus, body.bg-100 .o_database_list input[type="password"]:focus-within, body.bg-100 .o_database_list input[type="text"]:focus, body.bg-100 .o_database_list input[type="text"]:focus-within{-webkit-background-size: 100% 2px, 100% 1px;background-size: 100% 2px, 100% 1px;outline: 0;-webkit-transition-duration: .3s;-o-transition-duration: .3s;transition-duration: .3s;float: none;background-image: -webkit-gradient(linear, left top, left bottom, from($primaryColor), to($primaryColor)), -webkit-gradient(linear, left top, left bottom, from($primaryColor), to($primaryColor));background-image: -webkit-linear-gradient($primaryColor, $primaryColor), -webkit-linear-gradient($primaryColor, $primaryColor);background-image: -o-linear-gradient($primaryColor, $primaryColor), -o-linear-gradient($primaryColor, $primaryColor);background-image: linear-gradient($primaryColor, $primaryColor), linear-gradient($primaryColor, $primaryColor);border: 0;border-radius: 0;-webkit-box-shadow: none;box-shadow: none;}body.bg-100 .o_database_list input:-webkit-autofill, body.bg-100 .o_database_list input:-webkit-autofill:hover, body.bg-100 .o_database_list input:-webkit-autofill:focus, body.bg-100 .o_database_list input:-webkit-autofill:active{-webkit-box-shadow: 0 0 0px 1000px white inset !important;box-shadow: 0 0 0px 1000px white inset !important;}body.bg-100 .o_database_list .btn-primary{border: none; color: white; padding: 12px 80px; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: $primaryColor; box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px !important;}body.bg-100 .o_database_list .btn-secondary{background-color: $primaryColor; border-color: $primaryColor;}body.bg-100 .o_database_list .btn-primary:not(:disabled):not(.disabled):active, body.bg-100 .o_database_list .btn-primary:not(:disabled):not(.disabled).active, body.bg-100 .o_database_list .show > .btn-primary.dropdown-toggle{background-color: $primaryColor; border-color: $primaryColor;}body.bg-100 .o_database_list .oe_login_buttons a.btn{padding-top: 25px;}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 1rem !important;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important;}body.bg-100 .o_database_list{background-color: $login_page_box_color !important;}body.bg-100 .o_database_list .field-login label, body.bg-100 .o_database_list .field-password label{color: $primaryColor;}body.bg-100 .o_database_list .btn-primary{color: #ffffff; background-color: $primaryColor;}body.bg-100 .o_database_list .field-db label.col-form-label{color: $primaryColor;}body.bg-100 .o_database_list .card-body .border-bottom{border-bottom: 0 !important; margin-bottom: 0 !important;}body.bg-100 .justify-content-between.mt-2.d-flex.small a:last-child{color: $primaryColor;}@media (max-width: 767.98px){body.bg-100 .sh_backmate_th_login_left_img_st_2{display: none;}body.bg-100 .o_database_list{box-shadow: none;}}}@if $login_page_style == "style_2"{@media only screen and (max-width: 992px) and (min-width: 577px){body.bg-100 .o_database_list{position: relative !important;}}@media only screen and (max-width: 576px){body.bg-100 .o_database_list{max-width: 360px !important;margin-top: 1rem !important;}}}@if $login_page_style == "style_2"{body.bg-100 .o_database_list{align-items: center;height: 100vh;min-height: 100vh;justify-content: center;display: flex;}}

/* /sh_backmate_theme_adv/static/src/scss/login_page/login_style_3.scss defined in bundle 'web.assets_frontend' */
 @if $login_page_style == "style_3"{body.bg-100,body.bg-100 .card-body{font-family: $body_font_family !important;}body.bg-100 .justify-content-between.mt-2.d-flex.small a{color: #ffffff; padding-top: 15px;}body.bg-100 .card .card-body input{padding-left: 0; background-color: transparent; background-repeat: no-repeat; background-position: center bottom, center calc(100% - 1px); background-size: 0 2px, 100% 1px; transition: background 0s ease-out; border-bottom: 1px solid #ccc; border-left: 0px; border-right: 0px; border-top: 0px; padding: 0.429rem 1.072rem; border-radius: 0px;}body.bg-100 .card .card-body input:focus{-webkit-background-size: 100% 2px, 100% 1px; background-size: 100% 2px, 100% 1px; outline: 0; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; float: none; background-image: linear-gradient($header_bg_color, $header_bg_color), linear-gradient($header_bg_color, $header_bg_color); border: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none;}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: $primaryColor !important;}.bg-100{color: $primaryColor !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{color: #ffffff;}body.bg-100 .card .card-body .btn.btn-link.btn-sm{color: $primaryColor; padding-top: 15px;}@if $login_page_background_type == "bg_color"{body.bg-100 .sh_backmate_th_login_left_img_st_2{background-color: $login_page_background_color; background-repeat: no-repeat; background-size: cover; min-height: 100vh; background-position-x: center; background-position: center; align-items: center;}}@if $login_page_background_type == "bg_img"{body.bg-100 .sh_backmate_th_login_left_img_st_2{background: url("/web/image?model=sh.back.theme.config.settings&id=1&field=login_page_background_image"); background-repeat: no-repeat; background-size: cover; min-height: 100vh; background-position-x: center; background-position: center; align-items: center;}}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card .card-body h1 .sign_in{color: #fff; font-weight: 600;}body.bg-100 .card .oe_login_form .form-group.field-login .input-group{background: rgba(256, 256, 255, 0.2) !important; align-items: center; padding: 4px 15px; border-radius: 5px; color: #ffffff;}body.bg-100 .card .oe_login_form .form-group.field-login .input-group input{background: transparent !important; border: 0; padding-left: 15px;}body.bg-100 .card .oe_login_form .form-group.field-login .input-group .input-group-prepend{align-items: center;}body.bg-100 .card .oe_login_form .form-group.field-login .input-group .login_user_icon{padding-right: 15px; font-size: 18px;}body.bg-100 .card .oe_login_form .form-group.field-password .input-group{background: rgba(256, 256, 255, 0.2) !important; align-items: center; padding: 4px 15px; border-radius: 5px; color: #fff;}body.bg-100 .card .oe_login_form .form-group.field-password .input-group input{background: transparent !important; border: 0; padding-left: 15px;}body.bg-100 .card .oe_login_form .form-group.field-password .input-group .input-group-prepend{align-items: center;}body.bg-100 .card .oe_login_form .form-group.field-password .input-group .login_user_icon{padding-right: 15px; font-size: 18px;}body.bg-100 .card .card-body .btn-primary{background: rgba(0, 0, 0, 0.2);}body.bg-100 .o_database_list .card-body .field-db label{color: #ffffff; letter-spacing: 0.7px;}body.bg-100 .mt-5{margin-top: 0rem !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2.col-lg-6{padding: 0px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 img{width: 100%;}body.bg-100 .container-fluid.pb-5{padding-bottom: 0rem !important;}body.bg-100 .container-fluid.mb-5{margin-bottom: 0rem !important;}body.bg-100 .o_database_list{max-width: 100% !important; border-radius: 0px; padding: 0px 25px; position: relative;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100{background-color: $login_page_box_color !important;}body.bg-100 .card .card-body .form-control:focus{box-shadow: none;}body.bg-100 .card .card-body input[type="text"]{background-color: transparent; border: none; color: #ffffff; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 10px 15px; background: rgba(255, 255, 255, 0.2); border-left: 0px solid $header_bg_color; border-radius: 0px; border-top-left-radius: 5px; border-bottom-left-radius: 5px;}body.bg-100 .card .card-body input[type="password"]{background-color: transparent; border: none; color: #ffffff; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 18px 5px; background: #efefefcc; border-left: 5px solid $header_bg_color; border-radius: 0px;}body.bg-100 .card .card-body .btn-primary{border: none; color: white; padding: 12px 80px; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; box-shadow: none; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: $primaryColor;}body.bg-100 .card .card-body .btn-secondary{background-color: $primaryColor; border-color: $primaryColor;}body.bg-100 .card .card-body .btn-primary:not(:disabled):not(.disabled):active, body.bg-100 .card .card-body .btn-primary:not(:disabled):not(.disabled).active, body.bg-100 .card .card-body .show > .btn-primary.dropdown-toggle{background-color: $primaryColor; border-color: $primaryColor;}body.bg-100 .card .card-body .oe_login_buttons a.btn{padding-top: 25px;}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 1rem !important;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important;}body.bg-100 .o_database_list{background-color: transparent !important;}body.bg-100 .o_database_list .card-body{background-color: transparent !important;}// body.bg-100 .card{// position: unset; //}body.bg-100 .card .card-body .field-login label, body.bg-100 .card .card-body .field-password label{color: #ffffff;}body.bg-100 .card .card-body .btn-primary{color: #ffffff; background: rgba(0, 0, 0, 0.5) !important; box-shadow: none;}body.bg-100 .card .card-body .sign_in{color: $primaryColor;}@media (min-width: 1025px){body.bg-100 .card .card-body{border-radius: 10px; position: absolute; top: 50%; left: 50% !important; transform: translate(-50%, -50%);}}@media (max-width: 992px){body.bg-100 .sh_backmate_th_login_left_img_st_2 .col-lg-6:first-child{flex: 0 0 100%;max-width: 100%;}}@media (max-width: 574px){body.bg-100 .o_database_list{box-shadow: none;}}body.bg-100 .o_database_list .card-body .field-db .input-group-append a{background: rgba(0, 0, 0, 0.5); line-height: 38px; padding: 0 20px; box-shadow: none; border: 0px;}body.bg-100 .card .oe_login_form .form-group.field-password .input-group input::placeholder, body.bg-100 .card .oe_login_form .form-group.field-login .input-group input::placeholder{color: #ddd !important;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a{font-weight: 600; text-decoration: none; letter-spacing: 0.5px;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{border: 0 !important; margin: 0 !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{font-weight: 600; text-decoration: none; letter-spacing: 0.5px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .col-lg-6:first-child{border-right: 1px solid #fff;}}@if $login_page_style == "style_3"{@media only screen and (max-width: 1024px) and (min-width: 991px){// body.bg-100 .sh_backmate_th_login_left_img_st_2 .sh_logo_icon_img, // body.bg-100 .o_database_list .card-body{height: 100vh !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .sh_logo_icon_img{padding-top: 50px;}}@media only screen and (max-width: 992px) and (min-width: 768px){body.bg-100 .sh_backmate_th_login_left_img_st_2 .col-lg-6:first-child{padding-top: 100px;}body.bg-100 .card .card-body{top: 50%;}}@media only screen and (max-width: 767px){body.bg-100 .sh_backmate_th_login_left_img_st_2 .col-lg-6:first-child{padding-top: 50px;}body.bg-100 .card .card-body{top: 50%;}}@media only screen and (max-width: 992px){body.bg-100 .sh_backmate_th_login_left_img_st_2 .sh_logo_icon_img{padding-top: 20px;height: 100vh;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .sh_logo_icon_img{position: absolute;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .pb-3{padding-bottom: 0rem !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .mb-4{margin-bottom: 0rem !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2 img[alt="icon_img"]{max-height: 50px !important;}}@media only screen and (max-width: 992px) and (min-width: 577px){body.bg-100 .card-body{border-radius: 10px;position: absolute;top: 50%;left: 50% !important;transform: translate(-50%, -50%);width: 89%;}}@media only screen and (max-width: 576px) and (min-width: 376px){body.bg-100 .card-body{border-radius: 10px;position: absolute;top: 50%;left: 50% !important;transform: translate(-50%, -50%);width: 89%;}}@media only screen and (max-width: 375px) and (min-width: 321px){body.bg-100 .card-body{border-radius: 10px;position: absolute;top: 40%;left: 50% !important;transform: translate(-50%, -38%);width: 89%;}}@media only screen and (max-width: 320px){body.bg-100 .card-body{border-radius: 10px;position: absolute;top: 40%;left: 50% !important;transform: translate(-50%, -25%);width: 89%;}}}@if $login_page_style == "style_3"{@if $login_page_background_type == "bg_img"{body.bg-100 .row.sh_backmate_th_login_left_img_st_2:before{position: absolute; background: linear-gradient(200deg, $primaryColor 40%, $gradient_color 100%); z-index: 0; top: 0; left: 0; height: 100%; content: ''; width: 100%; opacity: .8;}}}

/* /sh_backmate_theme_adv/static/src/scss/login_page/login_style_4.scss defined in bundle 'web.assets_frontend' */
@if $login_page_style == "style_4"{body.bg-100,body.bg-100 .card{font-family: $body_font_family !important;}body.bg-100 .card .card-body input:-webkit-autofill, body.bg-100 .card .card-body input:-webkit-autofill:hover, body.bg-100 .card .card-body input:-webkit-autofill:focus, body.bg-100 .card .card-body input:-webkit-autofill:active{-webkit-box-shadow: 0 0 0px 1000px white inset !important;box-shadow: 0 0 0px 1000px white inset !important;}body.bg-100 .card h2 .company_name_style_1{color: #888; font-weight: 600; letter-spacing: 1px; display: block; margin-bottom: 20px;}body.bg-100 .card .card-body #login::placeholder, body.bg-100 .card .card-body #password::placeholder, body.bg-100 .card .card-body .login_user_icon{color: #616161;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{color: #ffffff; background: transparent; text-decoration: none;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{border: 0px !important;}@if $login_page_background_type == "bg_color"{body.bg-100 .sh_backmate_th_login_left_img_st_2{background-color: $login_page_background_color; background-repeat: no-repeat; background-size: cover; min-height: 100vh; background-position-x: center;}}@if $login_page_background_type == "bg_img"{body.bg-100 .sh_backmate_th_login_left_img_st_2{background: url("/web/image?model=sh.back.theme.config.settings&id=1&field=login_page_background_image"); background-repeat: no-repeat; background-size: cover; min-height: 100vh; background-position-x: center; background-position: center;}}@if $login_page_background_type == "bg_color"{body.bg-100 .card .card-body input{padding-left: 0; background-color: transparent; background-repeat: no-repeat; background-position: center bottom, center calc(100% - 1px); background-size: 0 2px, 100% 1px; transition: background 0s ease-out; border-bottom: 1px solid #ccc; border-left: 0px; border-right: 0px; border-top: 0px; padding: 0.429rem 1.072rem; border-radius: 0px;}body.bg-100 .card .card-body input:focus{-webkit-background-size: 100% 2px, 100% 1px; background-size: 100% 2px, 100% 1px; outline: 0; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; float: none; background-image: linear-gradient($header_bg_color, $header_bg_color), linear-gradient($header_bg_color, $header_bg_color); border: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small{justify-content: center !important;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a{color: #616161;}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: #616161 !important;}.bg-100{color: #616161 !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important;}body.bg-100 .btn.btn-link.btn-sm{color: #616161; padding-top: 15px;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: transparent !important;}.bg-100{background-color: $login_page_background_color !important;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important;}body.bg-100 .container.pb-5{padding-top: 2rem;}body.bg-100 .container.mb-5{margin-bottom: 0rem !important;}body.bg-100 .container.pb-5 .mt-5{margin-top: 0rem !important;}body.bg-100 .o_database_list{max-width: 100% !important; border-radius: 10px; overflow: hidden; padding: 0px 25px;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100 .card .card-body form .form-control:focus{box-shadow: none;}body.bg-100 .card .card-body .btn-secondary{background-color: #f5f5f5; border-color: #f5f5f5;}body.bg-100 .card .card-body input[type="text"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 0px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body input[type="password"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 0px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body .btn-primary{border: none; color: white; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; box-shadow: none; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: $primaryColor;}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 1rem !important;}}@if $login_page_background_type == "bg_img"{body.bg-100 .card .card-body input{padding-left: 0; background-color: transparent; background-repeat: no-repeat; background-position: center bottom, center calc(100% - 1px); background-size: 0 2px, 100% 1px; transition: background 0s ease-out; border-bottom: 1px solid #ccc; border-left: 0px; border-right: 0px; border-top: 0px; padding: 0.429rem 1.072rem; border-radius: 0px;}body.bg-100 .card .card-body input:focus{-webkit-background-size: 100% 2px, 100% 1px; background-size: 100% 2px, 100% 1px; outline: 0; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; float: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}body.bg-100 .btn.btn-link.btn-sm, body.bg-100 .btn-group-sm > .btn.btn-link body.bg-100{color: #616161 !important;}.bg-100{color: #616161 !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top{margin-top: 0.5rem !important;}body.bg-100 .card .card-body .text-center.small.mt-4.pt-3.border-top a{color: #ffffff;}body.bg-100 .btn.btn-link.btn-sm{color: #616161; padding-top: 15px;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a{color: #616161; padding-top: 15px; font-weight: 600; letter-spacing: 0.7px;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small a:last-child{color: $primaryColor !important;text-decoration: none;}body.bg-100 .card .card-body .clearfix.oe_login_buttons .btn.btn-primary{background: $primaryColor !important;border-color: $primaryColor;}body.bg-100 .card .card-body .justify-content-between.mt-2.d-flex.small{justify-content: center !important;}body.bg-100 .o_database_list{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}body.bg-100{background: linear-gradient(rgba(0, 0, 0, 0.33), rgba(0, 0, 0, 0.5)), url("/web/image?model=sh.back.theme.config.settings&id=1&field=login_page_background_image"); background-repeat: no-repeat; background-size: cover; color: #616161; font-family: $body_font_family !important;}body.bg-100 .container.pb-5{padding-top: 2rem;}body.bg-100 .container.pb-5{padding-bottom: 0px !important;}body.bg-100 .container.pb-5 .mt-5{margin-top: 0rem !important;}body.bg-100 .container.mb-5{margin-bottom: 0rem !important;}body.bg-100 .o_database_list{width: 390px; max-width: 100% !important; border-radius: 10px; overflow: hidden; box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); padding: 0px 25px;}body.bg-100 .container .bg-100{background-color: $login_page_box_color !important; color: #212529;}body.bg-100 .card .card-body form .form-control:focus{box-shadow: none;}body.bg-100 .card .card-body input[type="text"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 20px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body input[type="password"]{background-color: transparent; border: none; color: #0d0d0d; text-align: left; text-decoration: none; display: inline-block; font-size: 16px; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; padding: 15px 25px 15px 20px; border-bottom: 1px solid #dcdcdc; border-radius: 0px;}body.bg-100 .card .card-body .btn-secondary{background-color: #f5f5f5; border-color: #f5f5f5;}body.bg-100 .card .card-body .btn-primary{border: none; color: white; padding: 15px 80px; text-align: center; text-decoration: none; display: inline-block; text-transform: uppercase; font-size: 13px; box-shadow: none; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background-color: #f5f5f5;}body.bg-100 .container .oe_login_form .justify-content-between.mt-2{margin-top: 1rem !important;}}body.bg-100 .o_database_list .text-center.border-bottom{margin: 0 auto -60px !important; border: 0 !important; width: 120px; background: #fff; padding: 20px !important; height: 120px; border-radius: 50%; display: flex; align-items: center; z-index: 1;}body.bg-100 .card .card-body{padding-top: 60px; background: #fff !important; border-radius: 10px; padding-left: 50px; padding-right: 50px;}body.bg-100 .o_database_list{width: 50%;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-login .input-group{background: #ffffff !important; border: 1px solid #ccc; align-items: center; padding: 10px 20px; border-radius: 5px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-login .input-group .input-group-prepend{align-items: center;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-login .input-group .input-group-prepend span{padding-right: 15px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-login .input-group input{border: 0px; padding-left: 15px; font-size: 14px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-password .input-group{background: #ffffff !important; border: 1px solid #ccc; align-items: center; padding: 10px 20px; border-radius: 5px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-password .input-group .input-group-prepend{align-items: center;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-password .input-group .input-group-prepend span{padding-right: 15px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-password .input-group input{border: 0px; padding-left: 15px; font-size: 14px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-login .input-group input::placeholder{color: #777 !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-password .input-group input::placeholder{color: #777 !important;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .oe_login_buttons button{width: auto; padding: 10px 40px; font-weight: 600; letter-spacing: 0.7px; margin: auto; background: $primaryColor; border-color: $primaryColor; box-shadow: none; margin-bottom: 0px; color: #fff !important;}body.bg-100 .text-center.small.mt-4.pt-3.border-top a{color: #ffffff; font-size: 12px; letter-spacing: 1px;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-db input{border-top-left-radius: 5px; border-bottom-left-radius: 5px; border: 1px solid #ccc;}body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-db .input-group-append a{background: $primaryColor; border-color: $primaryColor !important; border-top-right-radius: 5px; border-bottom-right-radius: 5px; padding-top: 15px;padding-bottom: 15px;}@if $login_page_background_type == "bg_img"{body.bg-100 .o_database_list{background: transparent !important; box-shadow: none;}}}@media only screen and (min-width: 991px) and (max-width: 1200px){@if $login_page_style == "style_4"{body.bg-100 .o_database_list.col-sm-6 .card-body{width: 65%;}}}@media only screen and (min-width: 768px) and (max-width: 991px){@if $login_page_style == "style_4"{body.bg-100 .o_database_list.col-sm-6 .card-body, body.bg-100 .o_database_list{width: 75%;}}}@if $login_page_style == "style_4"{@media only screen and (max-width: 767px){body.bg-100 .o_database_list.col-sm-6{display: contents;}body.bg-100 .o_database_list{width: 100%;}}@media only screen and (max-width: 400px){body.bg-100 .o_database_list{max-width: 325px;}body.bg-100 .card .card-body{padding-left: 20px; padding-right: 20px; padding-top: 45px;}}}@if $login_page_style == "style_4"{@media only screen and (max-width: 576px){body.bg-100 .o_database_list{top: 50%;}body.bg-100 .o_database_list .text-center.border-bottom{height: 90px;width: 90px;margin: 0 auto -40px !important;}}}@if $login_page_style == "style_4"{body.bg-100 .sh_backmate_th_login_left_img_st_2 .card-body .oe_login_form .field-db input{height: 53px;}body.bg-100 .o_database_list{height: auto;min-height: auto;}}@if $login_page_style == "style_4"{body.bg-100 .justify-content-between.mt-2.d-flex.small{margin-bottom: 8px !important;}body.bg-100 .justify-content-between.mt-2.d-flex.small a{padding-top: 0px;}}@if $login_page_style == "style_4" and $login_page_background_type == "bg_img"{body.bg-100 .card h2 .company_name_style_1{color: #fff;}}@if $login_page_style == "style_4"{@media only screen and (max-width: 1024px) and (min-width: 769px){body.bg-100 .o_database_list{top: 45%;}}@media only screen and (max-width: 768px) and (min-width: 577px){body.bg-100 .o_database_list{top: 45%;}body.bg-100 .card h2 .company_name_style_1{margin-bottom: 10px;}}@media only screen and (max-width: 576px) and (min-width: 320px){body.bg-100 .o_database_list{top: 50%;}body.bg-100 .card h2 .company_name_style_1{margin-bottom: 10px;}body.bg-100 .card .card-body{padding-left: 10px;padding-right: 10px;}body.bg-100 .o_database_list{padding: 0px 10px;}}}@if $login_page_style == "style_4"{@if $login_page_background_type == "bg_img"{body.bg-100 .container-fluid.py-5.sh_backmate_th_login_left_img_st_2:before{position: absolute;background: linear-gradient(125deg, #64B5F6 20%, #4f2499 80%);z-index: 0;top: 0;left: 0;height: 100%;content: '';width: 100%;opacity: .7;}}}

/* /payment/static/src/scss/portal_payment.scss defined in bundle 'web.assets_frontend' */
input#cc_number{background-repeat: no-repeat; background-position: center right calc(2.7em);}div.card_placeholder{background-image: url("/website_payment/static/src/img/placeholder.png"); background-repeat: no-repeat; width: 32px; height: 20px; position: absolute; top: 8px; right: 20px; -webkit-transition: 0.4s cubic-bezier(0.455,0.03,0.515,0.955); transition: 0.4s cubic-bezier(0.455,0.03,0.515,0.955); pointer-events: none;}div.o_card_brand_detail{position: relative; div.card_placeholder{right: 5px;}}div.amex{background-image: url("/website_payment/static/src/img/amex.png"); background-repeat: no-repeat;}div.diners{background-image: url("/website_payment/static/src/img/diners.png"); background-repeat: no-repeat;}div.discover{background-image: url("/website_payment/static/src/img/discover.png"); background-repeat: no-repeat;}div.jcb{background-image: url("/website_payment/static/src/img/jcb.png"); background-repeat: no-repeat;}div.mastercard{background-image: url("/website_payment/static/src/img/mastercard.png"); background-repeat: no-repeat;}div.visa{background-image: url("/website_payment/static/src/img/visa.png"); background-repeat: no-repeat;}ul.payment_method_list img.rounded{max-width: 100px; max-height: 40px;}

/* /payment/static/src/scss/payment_form.scss defined in bundle 'web.assets_frontend' */
.o_payment_form{label > input[type="radio"], input[type="checkbox"]{vertical-align: middle; margin-right: 5px;}.payment_option_name{font-size: 14px; font-weight: normal !important; font-family: Helvetica Neue, sans-serif; line-height: 1.3em; color: #4d4d4d;}label{font-weight: normal; margin-top: 5px;}.card-body:first-child{border-top: 0px;}.card{border-radius: 10px;}.card-footer:last-child{border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important;}.card-body{border-top: 1px solid #ddd; padding: 1.14em !important; &.o_payment_acquirer_select:hover{cursor: pointer;}}.payment_icon_list{position: relative; li{padding-left: 5px !important; padding-right: 0px !important;}.more_option{@include o-position-absolute($right: 10px); font-size:10px;}margin-top: 0px !important; margin-bottom: -5px !important;}}

/* /sale/static/src/scss/sale_portal.scss defined in bundle 'web.assets_frontend' */
 .orders_vertical_align{display: flex; align-items: center;}.orders_label_text_align{vertical-align: 15%;}.sale_tbody .o_line_note{word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;}.sale_tbody input.js_quantity{min-width: 48px; text-align: center;}.sale_tbody div.input-group.w-50.pull-right{width: 100% !important;}.o_portal .sale_tbody .js_quantity_container{.js_quantity{padding: 0;}.input-group-text{padding: 0.2rem 0.4rem;}@include media-breakpoint-down(sm){width: 100%;}}

/* /auth_oauth/static/src/scss/auth_oauth.scss defined in bundle 'web.assets_frontend' */
.o_auth_oauth_providers{.fa-facebook-square{color: #3b5998;}.fa-google-plus-square{color: #de564a;}.o_custom_icon{margin: 0 0.15em; @include size(1em); border: 3px solid #875A7B; border-radius: 100%; transform: translateY(2px);}}

/* /google_recaptcha/static/src/scss/recaptcha.scss defined in bundle 'web.assets_frontend' */
// Hide google recaptcha V3 don't forget to add legal // https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed .grecaptcha-badge{visibility: hidden;}

/* /rating/static/src/scss/rating.scss defined in bundle 'web.assets_frontend' */
 .o_rating_page_submit{.o_rating_label.active{filter: drop-shadow(0 0 5px black); -webkit-filter: drop-shadow(0 0 5px black);}}

/* /project/static/src/scss/portal_rating.scss defined in bundle 'web.assets_frontend' */
.o_portal_project_rating{.thumbnail{height: 240px;}.o_top_partner_rating_image{height: 15px;}.o_top_partner_image{height: 30px; width: 30px;}.o_top_partner_feedback{word-wrap: break-word;}.o_vertical_separator{border-left: 1px solid #eeeeee}.o_rating_progress{margin-bottom: 10px;}.o_rating_count{display: inline-block; min-width: 22px}.o_smiley_no_padding_left{padding-left: 0;}.o_smiley_no_padding_right{padding-right: 0;}.o_lighter_smileys{opacity: 0.4}}

/* /sale_order_portal/static/src/css/fonts.css defined in bundle 'web.assets_frontend' */
@font-face{font-family: 'Almarai'; src: url('/sale_order_portal/static/src/fonts/Almarai-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal;}@font-face{font-family: 'Almarai'; src: url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&display=swap'') format('truetype'); font-weight: bold; font-style: normal;}@font-face{font-family: 'Almarai'; src: url('/sale_order_portal/static/src/fonts/Almarai-Light.ttf') format('truetype'); font-weight: 300; font-style: normal;}@font-face{font-family: 'Almarai'; src: url('/sale_order_portal/static/src/fonts/Almarai-ExtraBold.ttf') format('truetype'); font-weight: 800; font-style: normal;}

/* /web/static/lib/select2/select2.css defined in bundle 'web.assets_frontend' */
 .select2-container{margin: 0; position: relative; display: inline-block; vertical-align: middle;}.select2-container, .select2-drop, .select2-search, .select2-search input{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}.select2-container .select2-choice{display: block; height: 26px; padding: 0 0 0 8px; overflow: hidden; position: relative; border: 1px solid #aaa; white-space: nowrap; line-height: 26px; color: #444; text-decoration: none; border-radius: 4px; background-clip: padding-box; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff)); background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%); background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0); background-image: linear-gradient(to top, #eee 0%, #fff 50%);}html[dir="rtl"] .select2-container .select2-choice{padding: 0 8px 0 0;}.select2-container.select2-drop-above .select2-choice{border-bottom-color: #aaa; border-radius: 0 0 4px 4px; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff)); background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%); background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right: 42px;}.select2-container .select2-choice > .select2-chosen{margin-right: 26px; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; float: none; width: auto;}html[dir="rtl"] .select2-container .select2-choice > .select2-chosen{margin-left: 26px; margin-right: 0;}.select2-container .select2-choice abbr{display: none; width: 12px; height: 12px; position: absolute; right: 24px; top: 8px; font-size: 1px; text-decoration: none; border: 0; background: url('/web/static/lib/select2/select2.png') right top no-repeat; cursor: pointer; outline: 0;}.select2-container.select2-allowclear .select2-choice abbr{display: inline-block;}.select2-container .select2-choice abbr:hover{background-position: right -11px; cursor: pointer;}.select2-drop-mask{border: 0; margin: 0; padding: 0; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 9998; background-color: #fff; filter: alpha(opacity=0);}.select2-drop{width: 100%; margin-top: -1px; position: absolute; z-index: 9999; top: 100%; background: #fff; color: #000; border: 1px solid #aaa; border-top: 0; border-radius: 0 0 4px 4px; -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); box-shadow: 0 4px 5px rgba(0, 0, 0, .15);}.select2-drop.select2-drop-above{margin-top: 1px; border-top: 1px solid #aaa; border-bottom: 0; border-radius: 4px 4px 0 0; -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);}.select2-drop-active{border: 1px solid #5897fb; border-top: none;}.select2-drop.select2-drop-above.select2-drop-active{border-top: 1px solid #5897fb;}.select2-drop-auto-width{border-top: 1px solid #aaa; width: auto;}.select2-container .select2-choice .select2-arrow{display: inline-block; width: 18px; height: 100%; position: absolute; right: 0; top: 0; border-left: 1px solid #aaa; border-radius: 0 4px 4px 0; background-clip: padding-box; background: #ccc; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee)); background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%); background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0); background-image: linear-gradient(to top, #ccc 0%, #eee 60%);}html[dir="rtl"] .select2-container .select2-choice .select2-arrow{left: 0; right: auto; border-left: none; border-right: 1px solid #aaa; border-radius: 4px 0 0 4px;}.select2-container .select2-choice .select2-arrow b{display: block; width: 100%; height: 100%; background: url('/web/static/lib/select2/select2.png') no-repeat 0 1px;}html[dir="rtl"] .select2-container .select2-choice .select2-arrow b{background-position: 2px 1px;}.select2-search{display: inline-block; width: 100%; min-height: 26px; margin: 0; padding: 4px 4px 0 4px; position: relative; z-index: 10000; white-space: nowrap;}.select2-search input{width: 100%; height: auto !important; min-height: 26px; padding: 4px 20px 4px 5px; margin: 0; outline: 0; font-family: sans-serif; font-size: 1em; border: 1px solid #aaa; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; background: #fff url('/web/static/lib/select2/select2.png') no-repeat 100% -22px; background: url('/web/static/lib/select2/select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); background: url('/web/static/lib/select2/select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;}html[dir="rtl"] .select2-search input{padding: 4px 5px 4px 20px; background: #fff url('/web/static/lib/select2/select2.png') no-repeat -37px -22px; background: url('/web/static/lib/select2/select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); background: url('/web/static/lib/select2/select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;}.select2-search input.select2-active{background: #fff url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%; background: url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); background: url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); background: url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;}.select2-container-active .select2-choice, .select2-container-active .select2-choices{border: 1px solid #5897fb; outline: none; -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); box-shadow: 0 0 5px rgba(0, 0, 0, .3);}.select2-dropdown-open .select2-choice{border-bottom-color: transparent; -webkit-box-shadow: 0 1px 0 #fff inset; box-shadow: 0 1px 0 #fff inset; border-bottom-left-radius: 0; border-bottom-right-radius: 0; background-color: #eee; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee)); background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%); background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); background-image: linear-gradient(to top, #fff 0%, #eee 50%);}.select2-dropdown-open.select2-drop-above .select2-choice, .select2-dropdown-open.select2-drop-above .select2-choices{border: 1px solid #5897fb; border-top-color: transparent; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee)); background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%); background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);}.select2-dropdown-open .select2-choice .select2-arrow{background: transparent; border-left: none; filter: none;}html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow{border-right: none;}.select2-dropdown-open .select2-choice .select2-arrow b{background-position: -18px 1px;}html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b{background-position: -16px 1px;}.select2-hidden-accessible{border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}.select2-results{max-height: 200px; padding: 0 0 0 4px; margin: 4px 4px 4px 0; position: relative; overflow-x: hidden; overflow-y: auto; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}html[dir="rtl"] .select2-results{padding: 0 4px 0 0; margin: 4px 0 4px 4px;}.select2-results ul.select2-result-sub{margin: 0; padding-left: 0;}.select2-results li{list-style: none; display: list-item; background-image: none;}.select2-results li.select2-result-with-children > .select2-result-label{font-weight: bold;}.select2-results .select2-result-label{padding: 3px 7px 4px; margin: 0; cursor: pointer; min-height: 1em; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}.select2-results-dept-1 .select2-result-label{padding-left: 20px}.select2-results-dept-2 .select2-result-label{padding-left: 40px}.select2-results-dept-3 .select2-result-label{padding-left: 60px}.select2-results-dept-4 .select2-result-label{padding-left: 80px}.select2-results-dept-5 .select2-result-label{padding-left: 100px}.select2-results-dept-6 .select2-result-label{padding-left: 110px}.select2-results-dept-7 .select2-result-label{padding-left: 120px}.select2-results .select2-highlighted{background: #3875d7; color: #fff;}.select2-results li em{background: #feffde; font-style: normal;}.select2-results .select2-highlighted em{background: transparent;}.select2-results .select2-highlighted ul{background: #fff; color: #000;}.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit{background: #f4f4f4; display: list-item; padding-left: 5px;}.select2-results .select2-disabled.select2-highlighted{color: #666; background: #f4f4f4; display: list-item; cursor: default;}.select2-results .select2-disabled{background: #f4f4f4; display: list-item; cursor: default;}.select2-results .select2-selected{display: none;}.select2-more-results.select2-active{background: #f4f4f4 url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100%;}.select2-results .select2-ajax-error{background: rgba(255, 50, 50, .2);}.select2-more-results{background: #f4f4f4; display: list-item;}.select2-container.select2-container-disabled .select2-choice{background-color: #f4f4f4; background-image: none; border: 1px solid #ddd; cursor: default;}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color: #f4f4f4; background-image: none; border-left: 0;}.select2-container.select2-container-disabled .select2-choice abbr{display: none;}.select2-container-multi .select2-choices{height: auto !important; height: 1%; margin: 0; padding: 0 5px 0 0; position: relative; border: 1px solid #aaa; cursor: text; overflow: hidden; background-color: #fff; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff)); background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%); background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%); background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);}html[dir="rtl"] .select2-container-multi .select2-choices{padding: 0 0 0 5px;}.select2-locked{padding: 3px 5px 3px 5px !important;}.select2-container-multi .select2-choices{min-height: 26px;}.select2-container-multi.select2-container-active .select2-choices{border: 1px solid #5897fb; outline: none; -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); box-shadow: 0 0 5px rgba(0, 0, 0, .3);}.select2-container-multi .select2-choices li{float: left; list-style: none;}html[dir="rtl"] .select2-container-multi .select2-choices li{float: right;}.select2-container-multi .select2-choices .select2-search-field{margin: 0; padding: 0; white-space: nowrap;}.select2-container-multi .select2-choices .select2-search-field input{padding: 5px; margin: 1px 0; font-family: sans-serif; font-size: 100%; color: #666; outline: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; background: transparent !important;}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background: #fff url('/web/static/lib/select2/select2-spinner.gif') no-repeat 100% !important;}.select2-default{color: #999 !important;}.select2-container-multi .select2-choices .select2-search-choice{padding: 3px 5px 3px 18px; margin: 3px 0 3px 5px; position: relative; line-height: 13px; color: #333; cursor: default; border: 1px solid #aaaaaa; border-radius: 3px; -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); background-clip: padding-box; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #e4e4e4; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);}html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice{margin: 3px 5px 3px 0; padding: 3px 18px 3px 5px;}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor: default;}.select2-container-multi .select2-choices .select2-search-choice-focus{background: #d4d4d4;}.select2-search-choice-close{display: block; width: 12px; height: 13px; position: absolute; right: 3px; top: 4px; font-size: 1px; outline: none; background: url('/web/static/lib/select2/select2.png') right top no-repeat;}html[dir="rtl"] .select2-search-choice-close{right: auto; left: 3px;}.select2-container-multi .select2-search-choice-close{left: 3px;}html[dir="rtl"] .select2-container-multi .select2-search-choice-close{left: auto; right: 2px;}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position: right -11px;}.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position: right -11px;}.select2-container-multi.select2-container-disabled .select2-choices{background-color: #f4f4f4; background-image: none; border: 1px solid #ddd; cursor: default;}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding: 3px 5px 3px 5px; border: 1px solid #ddd; background-image: none; background-color: #f4f4f4;}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display: none; background: none;}.select2-result-selectable .select2-match, .select2-result-unselectable .select2-match{text-decoration: underline;}.select2-offscreen, .select2-offscreen:focus{clip: rect(0 0 0 0) !important; width: 1px !important; height: 1px !important; border: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; position: absolute !important; outline: 0 !important; left: 0px !important; top: 0px !important;}.select2-display-none{display: none;}.select2-measure-scrollbar{position: absolute; top: -10000px; left: -10000px; width: 100px; height: 100px; overflow: scroll;}@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx){.select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b{background-image: url('/web/static/lib/select2/select2x2.png') !important; background-repeat: no-repeat !important; background-size: 60px 40px !important;}.select2-search input{background-position: 100% -21px !important;}}

/* /sale_order_portal/static/src/css/select2_custom.css defined in bundle 'web.assets_frontend' */
 .select2-container--default .select2-selection--single{height: 38px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; border: 1px solid #ccc; border-radius: 4px;}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height: 24px; padding-left: 0;}.select2-container--default .select2-selection--single .select2-selection__arrow{height: 36px;}.select2-dropdown{border: 1px solid #ccc;}.select2-search--dropdown .select2-search__field{padding: 6px; border: 1px solid #ccc;}.select2-container--open .select2-dropdown--below{border-top: none; border-top-left-radius: 0; border-top-right-radius: 0;}.select2-container{width: 100% !important;}

/* /website/static/src/scss/user_custom_rules.scss defined in bundle 'web.assets_frontend' */
// // This file is meant to regroup your design customizations. For example, doing // this will separate your footer with a dotted border using your primary color. // // footer{// border-top: 5px dotted theme-color('primary'); //}// 